控件(widget)

1. TextView(该控件的一些需要注意的属性,下同)

gravity="center"
textSize="24sp"
textColor="#00ff00"
(完整的前面应该加android:,为了方便均忽略)

2. EditText

hint="Type something here"
maxLines="2"

3. ImageView

src="@drawable/ic_launcher"
imageView.setImageResoure(R.drawable.jetlly)

4. ProgressBar

1
2
progressBar.setVisibility(View.GONE)//设置不可见,且不占用任何空间
progressBar.setVisibility(View.VISIBLE)//设置可见

实际上需要去添加逻辑(比如当数据加载完成时执行:

1
progressBar.setVisibility(View.GONE)//设置不可见,且不占用任何空间

不然,ProgressBar会一直转
还有功能:

1
2
progressbar.getVisibility()
//有三种值:View.GONE,View.VISIBLE

在ProgressBar参数中style="?android:attr/progressBarStyleHorizontal"
可将进度条变成水平,参数max="100"设置水平进度条的最大值

5. AlertDialog

1
2
3
4
5
6
AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);//可以理解为对话框建立在这个活动之上
dialog.setTitle("This is title");//设置对话框的标题
dialog.setMessage("someting important");//内容
dialog.setCancelable(false);//设置该对话框是否可由back键退回
dialog.setPositiveButton("OK",new DialogInterface.OnclickListener(){})//为OK键设置监听器
dialog.setNegativeButton("CANCEL",new DialogInterface.OnClickListener(){})

注意:AlertDialog在程序里面写,不再布局里写

6. ProgressDialog

1
2
3
4
5
ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setTitle("wait a moment!");
progressDialog.setMessage("Loding...");
progressDialog.setCancelable(false);
progressDialog.show();

与AlertDialog类似

四大布局(Layout)

1. LinearLayout

layout_gravity属性

orientation的方向一定是与layout_gravity方向正交,解释如下:

如果orientation="vertical",那么就只有水平方向的对齐有效
此时控件的layout_gravity"就有三种值:

  • left
  • center_horizontal
  • right

同理,如果orientation="horizontal"
此时控件的layout_gravity有三种值:

  • top
  • center_vertical
  • bottom

####### layout_weight(权重)
orientation="horizontal",此时xml中有EditTextButton,设置他们的layout_width="0dp",若设置EditTextlayout_weight="3",设置Buttonlayout_weight="2",前者占屏幕的3/5,后者占2/5

2. RelativeLayout

控件相对父布局定位
  • layout_alignParentTop
  • layout_alignparentBottom
  • layout_alignParentRight
  • layout_alignParentLeft
  • laout_centerInParent
控件相对控件定位
  • layout_below
  • layout_toRightOf
  • layout_toLeftOf
  • layout_above
边缘对齐(就试验的情况下,貌似此处orientation不顶用)
  • layout_alignLeft
  • layout_alignRight
  • layout_alignTop
  • layout_alignBottom

3. FrameLayout

所有控件都摆放在左上角

4.TableLayout

1
2
3
4
//一对这样的标签就表示一行
<TableRow>
//一个组件表示一列
</TableRow>
  • 需要注意的是,《第一行代码》中当一行有TextViewEditText时,TextView只有layout_height属性,这可能是由于TableLayout有自己的关于每行中列宽度的规定,以后遇到这种情况再做更正
  • 合并单元格:layout_span="2"表示横跨两列
  • TableLayout头部添加android:stretchColumns="1",即将第二列拉伸,0则拉伸第一列

探究android控件及布局的更多相关文章

  1. Android 控件在布局中按比例放置[转]

    转自:http://netsky1990.blog.51cto.com/2220666/997452       在Android开发中常用到线性布局LinearLayout对界面进行具体的创建,其中 ...

  2. android控件基本布局

    <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android=&qu ...

  3. Android 手机卫士--自定义组合控件构件布局结构

    由于设置中心条目中的布局都很类似,所以可以考虑使用自定义组合控件来简化实现 本文地址:http://www.cnblogs.com/wuyudong/p/5909043.html,转载请注明源地址. ...

  4. Android编程 控件与布局

    控件和布局的继承结构 常用控件 1.TextView <?xml version="1.0" encoding="utf-8"?> <Line ...

  5. Android 控件属性介绍

    1.LinearLayout(线性布局): 可以分为水平线性:android:orientation= " horizontal " 和垂直线性:android:orientati ...

  6. Android控件Gridview实现仿支付宝首页,Fragment底部按钮切换和登录圆形头像

    此案例主要讲的是Android控件Gridview(九宫格)完美实现仿支付宝首页,包含添加和删除功能:Fragment底部按钮切换的效果,包含四个模块,登录页面圆形头像等,一个小项目的初始布局. 效果 ...

  7. Android 控件架构及View、ViewGroup的测量

    附录:示例代码地址 控件在Android开发的过程中是必不可少的,无论是我们在使用系统控件还是自定义的控件.下面我们将讲解一下Android的控件架构,以及如何实现自定义控件. 1.Android控件 ...

  8. Android控件属性大全(转)

    http://blog.csdn.net/pku_android/article/details/7365685 LinearLayout         线性布局        子元素任意: Tab ...

  9. UIAutomator定位Android控件的方法

    UIAutomator各种控件定位的方法. 1. 背景 使用SDK自带的NotePad应用,尝试去获得在NotesList那个Activity里的Menu Options上面的那个Add note菜单 ...

随机推荐

  1. 获取所有树叶子节点 注册添加事件 if ($(node).tree('isLeaf', node.target)) 是否叶子节点

    //获取所有树叶子节点 注册添加事件 if ($(node).tree('isLeaf', node.target)) 是否叶子节点 $(function () { $('.easyui-tree') ...

  2. MYSQL delete 从多人表中删除

    语法 1. delete table_list_A from table_list_B where bool_expression; 从delete_table_list_A 删除 bool expr ...

  3. Linux文件解压缩详解

    tar命令 我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar.可是Linux就不同了,它有.gz..tar.gz.tgz.bz2..Z..tar等众多的压缩文件名, ...

  4. bzoj2015 [Usaco2010 Feb]Chocolate Giving

    Description Farmer John有B头奶牛(1<=B<=25000),有N(2*B<=N<=50000)个农场,编号1-N,有M(N-1<=M<=10 ...

  5. linux分区,文件系统,目录结构概述

    1.Linux中如何表示硬盘,分区 Linux内核读取光驱,硬盘等资源时均通过“设备文件”的形式进行,因此在linux系统中,将硬 盘和分区表示为不同的文件.具体表述形式如下: 硬盘:对于IDE接口的 ...

  6. awk(流程控制、内置变量、内置函数、数组)

    摘自:http://bbs.51cto.com/thread-883948-1-1.html awk(流程控制.内置变量.内置函数.数组) ... 参考其他的资料,给大家看看.一.awk流程控制语句 ...

  7. Wireshark入门与进阶系列(二)

    摘自http://blog.csdn.net/howeverpf/article/details/40743705 Wireshark入门与进阶系列(二) “君子生非异也,善假于物也”---荀子 本文 ...

  8. #include <list>

    clear();删除向量中的所有对象 erase(iterator it);删除it所指向的容器对象 insert(iterator it,const T&);向it所指的向量位置前插入一个对 ...

  9. 第一次用shell脚本来自动运行带参程序

    将目录下的part-开头的文件带入程序处理 #!bin/sh FILES=/data5/follow_relation_list_part_00000/part-* file="" ...

  10. SharePoint 2013 代码实现自定义的站点模版创建Site Collection

    先需要将自定义的站点模版从网站集转移到Farm中. 找一个自己已经完成配置及设计的网站,在网站设置里面选择另存为模版.要注意的是不是所有的站点类型都有另存为模版的功能. 存完之后可在解决方案库的界面里 ...