1、 1 / 12android:gravity=“center_vertical“ 限定它里面的内容要垂直居中显示。android:layout_gravity=“center_vertical“ 指它的位置是相对于它父亲的垂直居中。android:orientation=“horizontal“ 水平android:layout_alignParentTop=“true“将控件的上边缘和父控件的上边缘对齐android:paddingLeft=“10dp“ android:singleLine=“true“ 1、可以使某些资源文件或 UI 组件可重用2、定义一个文本编辑框,使用绝对定位andr
2、oid:layout_x=“20dip“android:layout_y=“80dip“3、 控件位置android:layout_centerHorizontal 控制该组件是否位于布局容器的水平居中位置android:layout_centerVertical 控制该组件是否位于布局容器的垂直居中位置android:layout_centerInParent 控制该组件是否位于布局容器的中央位置android:layout_alignParentBottom 控制该组件是否与布局容器 底端对齐android:layout_alignParentLeft 控制该组件是否与布局容器左边对齐an
3、droid:layout_alignParentRight 控制该组件是否与布局容器右边对齐android:layout_alignParentTop 控制该组件是否与布局容器顶端对齐android:layout_toRightOf 控制该组件位于给出的 ID 组件的右侧android:layout_toLeftOf 控制该组件位于给出的 ID 组件的左侧android:layout_above 控制该组件位于给出的 ID 组件的上方android:layout_below 控制该组件位于给出的 ID 组件的下方android:layout_alignTop 控制该组件与给出的 ID 组件的上
4、边界对齐android:layout_alignBottom 控制该组件与给出的 ID 组件的下边界对齐android:layout_alignLeft 控制该组件与给出的 ID 组件的左边界对齐android:layout_alignRight 控制该组件与给出的 ID 组件的右边界对齐4、设置单元格内的控件的形状(可压缩,可伸长,可隐藏等)android:shrinkColumns 设置该列的所有单元格的宽度可以 被收缩,以保证该表格能够适应父容器宽度android:stretchColumns 设置该列的所有单元格的宽度可以被拉伸,以保证组件能完全填满表格空余空间android:coll
5、apseColumns 设置该列的所有单元格会 被隐藏 5、TextView 属性设置2 / 12设置字体为 30pt android:textSize=“30pt“设置中间省略 android:singleLine= “true“ android:ellipsize=“middle“对邮件增加链接 android:autoLink =“email“ android:autoLink=“email“测试密码框 android:password =“true“绘制一张图片 android:drawableLeft =“drawable/icon“6、 EditText 属性设置当前组件在得到焦点
6、的时候,自动选取该组件内的所有的文本内容android:selectAllOnFocus=“true“当前组件只能输入数字 android:phoneNumber=“true“当前组件显示的提示信息,被选中时,内容自动被清空android:hint=“string/edtPhone7、按钮以及属性(Button)普通文字按钮 android:background= “普通图片按钮 按下时显示不同图片的按钮(利用配置文件解决即,button_selector.xml, android:src= “drawable/button_selector“ )Button_selector.xml:指定按
7、钮按钮下时的图片指定按钮松开时的图片:带文字的图片按钮 android:background= “drawable/button_selector“android:text=“string/btnImage“8、单选按钮和多选按钮(RadioGroup、CheckBox )定义一组单选框 定义一个单选框 定义一个垂直的线性布局9、带类似开关式的按钮(ToggleButton)3 / 12定义一个 ToggleButton 按钮: 定义一个可以动态改变方向的线性布局:TestActivity:ToggleButton tb = (ToggleButton) findViewById(R.id.t
8、oggle);layout = (LinearLayout) findViewById(R.id.test);匿名内部类:tb.setOnCheckedChangeListener(newOnCheckedChangeListener() public void onCheckedChanged(CompoundButton arg0, boolean arg1) if (arg1) layout.setOrientation(LinearLayout.HORIZONTAL); else layout.setOrientation(LinearLayout.VERTICAL););9、计时器组
9、件(Chronometer)获取计时器组件:final Chronometer chro = (Chronometer) findViewById(R.id.test);改变显示的信息内容,使用“%s“表示计时信息chro.setFormat(“计时信息: %s“);获取“开始”按钮Button btnStart = (Button) findViewById(R.id.start);获取事件监听:btnStart.setOnClickListener(new OnClickListener() public void onClick(View arg0) 设置开始计时时间:SystemClo
10、ck 系统时钟类,elapsedRealtime 方法是得到当前系统的真实时间hro.setBase(SystemClock.elapsedRealtime();启动计时器:chro.start(); );时钟改变一次监听一次:chro.setOnChronometerTickListener(new OnChronometerTickListener() public void onChronometerTick(Chronometer ch) 4 / 12如果从开始计时到现在超过了 20s。(15 - 11 20 * 1000)Log.i(“TestActivity“, SystemClo
11、ck.elapsedRealtime()+ “);if (SystemClock.elapsedRealtime() - ch.getBase() 20 * 1000) ch.stop(); );定义模拟时钟:定义数字时钟:计时器:10、图像视图(ImageView)11、自动完成文本框 (AutoCompleteTextView)指定输入一个字符后进行提示:设置出现在下拉菜单中的提示标题: android:completionHint=“string/title“设置下拉菜单的宽度: android:dropDownWidth=“100dp“设置下拉菜单与文本框之间的水平偏移:android
12、:dropDownHorizontalOffset=“30dp“设置用户至少输入几个字符才会显示提示:android:completionThreshold=“2“具体实现(Activity ):1、定义字符串数组,作为提示的文本String books = new String “active“, “activity“, “activity“, “apple“,“apple“ ;2、获取 CompleteTextView 上下文对象:AutoCompleteTextView actv = (AutoCompleteTextView) findViewById(R.id.auto);3、创建一
13、个 ArrayAdapter,封装数据ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout. simple_dropdown_item_1line, books);simple_dropdown_item_1line:android 自带的配置文件。4、 设置 Adapteractv.setAdapter(adapter);12、下拉列表框(Spinner )定义了一个 Spinner 组件, 指定该显示该 Spinner 组件的数组:使用数组资源设置该下拉列表框的列表项目:5 / 12android:entries=“a
14、rray/books“books.xml:Java SEJava EEJava MELinux设置该列表选择框的提示android:prompt=“string/info“13、时间和日期组件(DatePicker、TimePicker )定义一个 DatePicker 组件(日期:年,月,日): 定义一个 TimePicker 组件(时间:含上下午 ):Activity:引用布局文件中的组件:findViewById();获取当前的年、月、日、小时、分钟:Calendar c = Calendar.getInstance();year = c.get(Calendar.YEAR);month
15、= c.get(Calendar.MONTH);day = c.get(Calendar.DAY_OF_MONTH);hour = c.get(Calendar.HOUR);minute = c.get(Calendar.MINUTE);用于显示时间的方法(show):private void showDate(int year, int month, int day, int hour, int minute) EditText show = (EditText) findViewById(R.id.show);show.setText(“您的购买日期为:“ + year + “年“ + m
16、onth + “月“ + day + “日 “ + hour+ “时“ + minute + “分“); 初始化 DatePicker 组件,初始化时指定监听器:datePicker.init(year, month, day, new OnDateChangedListener() public void onDateChanged(DatePicker arg0, int year, int month, int day) TestActivity.this.year = year;TestActivity.this.month = month;TestActivity.this.day
17、= day;/ 显示当前日期、时间showDate(year, month, day, hour, minute); );为 TimePicker 指定监听器:timePicker.setOnTimeChangedListener(new OnTimeChangedListener() public void onTimeChanged(TimePicker arg0, int hour, int minute) TestActivity.this.hour = hour;TestActivity.this.minute = minute;6 / 12/ 显示当前日期、时间showDate(y
18、ear, month, day, hour, minute); );14、水平进度条(ProgressBar)定义一个水平进度条Widget.ProgressBar.Horizontal: 系统自带布局方式 。15、拖动条(SeekBar)定义一个拖动条,并改变它的滑块外观:Activity:1、 findViewById2、 事件监听器:seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() / 当拖动条的滑块位置发生改变时触发该方法public void onProgressChanged(SeekBar arg0,
19、 int progress, boolean fromUser) image.setAlpha(progress); / 设置透明度public void onStartTrackingTouch(SeekBar bar) public void onStopTrackingTouch(SeekBar bar) );16、星级评分条(RatingBar)定义一个星级评分条:17、选项卡(TabHost)定义一个 TabHost 添加几个布局:Activity:1、 TabHost th = getTabHost();/获取选项卡7 / 122、 LayoutInflater.from(this
20、).inflate(R.layout.main, th.getTabContentView(),true) /获取布局文件3、 在选项卡中添加已有的布局:th.addTab(th.newTabSpec(“t1“).setIndicator(“软件“).setContent(R.id. tb1);th.addTab(th.newTabSpec(“t2“).setIndicator(“动漫“, getResources().getDrawable(R.drawable.ic_launcher).setContent(R.id.tb2); th.addTab(th.newTabSpec(“t3“).
21、setIndicator(“网络“).setContent(R.id. tb3);18、滚动条(ScrollView )1、创建2、创建3、中间是文本内容,最后结束 19、列表视图(ListView )创建 ListView(布局文件):Activity(方法 2):findViewByIdString arr= “大师兄“, “fdasfd“,“dafa“;ArrayAdapter arrayAdapter= new ArrayAdapter(this,android.R.layout.simple_expandable_list_item_1,arr);lv.setAdapter(arra
22、yAdapter);20、详解 simple_list_item1、 simple_list_item_1: 每一个列表项都是一个普通的 TextView2、 simple_list_item_2:每一个列表项都是一个普通的 TextView,字体略大,TextView 显示标题,TextView 显示内容,因此需要两组数据,并且指定每组数据和两个 TextView 的对应关系3、simple_list_item_checked:每一个列表项都是一个已勾选的列表项4、simple_list_item_multiple_choice:每一个列表项都是带多选项5、simple_list_item_
23、single_choice :每一个列表项都是带单选项21、列表(ListView )定义数组:String arr = “刘德华“, “张学友“ , “黎明“, “郭富城“ ;将数组中的内容添加到列表中:List data = new ArrayList();for (int i = 0; i item = new HashMap();item.put(“num1“, i); item.put(“value1“, arri);8 / 12ata.add(item); SimpleAdapter adapter = new SimpleAdapter(this,data,android.R.l
24、ayout.simple_list_item_2, new String“num1“,“value1“,new intandroid.R.id.text1,android.R.id.text2); / 设置该窗口显示列表setListAdapter(adapter);形式二:1、 创建数组,以及对应图标:private String names = new String “唐伯虎“ , “祝枝山 “, “文征明“, “徐祯卿“ ;private int imageIds = new int R.drawable.icon,R.drawable.icon, R.drawable.icon, R.
25、drawable.icon ;private String values = new String“1“,“2“,“3“,“4“;2、 重写方法(onCreate(Bundle savedInstanceState))/ 创建一个 List 集合,List 集合的元素是 MapList listItems = new ArrayList();for (int i = 0; i listItem = new HashMap();listItem.put(“header“, imageIdsi);listItem.put(“personName“, namesi);listItem.put(“pe
26、rsonInfo“, valuesi);listItems.add(listItem); / 创建一个 SimpleAdapterSimpleAdapter simpleAdapter = new SimpleAdapter(this, listItems,R.layout.main, new String “personName“, “header“ ,“personInfo“,new int R.id.name, R.id.header,R.id.info );ListView list = (ListView) findViewById(R.id.mylist);/ 为 ListView
27、 设置 Adapterlist.setAdapter(simpleAdapter);main.xml 配置文件:9 / 1222、类似 QQ 上的小表情(GridView)1、/ 为 GridView 准备数据int imageIds = new int R.drawable.bomb5, R.drawable.bomb6,R.drawable.bomb7, R.drawable.bomb8, R.drawable.bomb9,R.drawable.bomb10, R.drawable.bomb11, R.drawable.bomb12,R.drawable.bomb13, R.drawabl
28、e.bomb14, R.drawable.bomb15,R.drawable.bomb16 ;String infos = new String“1“,“2“,“3“,“4“,“5“,“6“,“7“,“8“,“9“,“10“,“11“,“12“;2、 重写(onCreate(Bundle savedInstanceState2: RelativeLayout第一类:属性值为 true 可 falseandroid:layout_centerHrizontal 水平居中android:layout_centerVertical 垂直居中android:layout_centerInparent
29、相对于父元素完全居中android:layout_alignParentBottom 贴紧父元素的下边缘android:layout_alignParentLeft 贴紧父元素的左边缘android:layout_alignParentRight 贴紧父元素的右边缘android:layout_alignParentTop 贴紧父元素的上边缘android:layout_alignWithParentlfMissing如果找不到对应的兄弟元素找不到,就以父元素做参照物。第二类:属性值必须为 id 的引用名android:layout_below 在某元素的下方android:layout_ab
30、ove 在某元素的上方android:layout_toLeftOf 在某元素的左边Android:layout_toRightOf 在某元素的右边android:layout_alignTop 本元素的上边缘和某元素的上边缘对齐android:layout_alignLeft 本元素的左边缘和某元素的左边缘对齐android:layout_alignBottom 本元素的下边缘和某元素下边缘对齐android:layout_alignRight 本元素的右边缘和某元素右边缘对齐第三类:属性值为具体的像素值班,如 30dipandroid:layout_marginBottom 离某元素底边缘
31、的距离Android:layout_marginLeft 离某元素左边缘的的距离Android:layout_marginRight 离某元素的右边缘的距离Android:layout_marginTop 离某元素上边缘的距离android:hint 设置 EditText 为空时输入的提示信息android:gravity 对该 view 内容的限定:靠上 下 左 右android:layout_gravity=“right“ 用来设置该 Container(组件)的靠左 靠右android:text 指定的控件当中显示的文字 尽量使用 string.xml 文件当中的字符串Android:
32、textSize 文字大小Android:width 控件宽度Android:height 控件高度10 / 12Android:layout_width 指定 Container 组件的宽度Android:layout_height 指定 Container 组件的高度View 按比例划分空间Android:Padding* 内边距Android:singleLine 为真时,内容在同一行中进行显示Android:scaleType: 控制图片如何 resized/moved 来匹配 ImageView 的 sizeImageView.ScaleType/android.scaleType
33、值的意义区别:CENTER/center 按图片的原来 size 居中显示,当图片长宽超过 View 的长宽时,截取图片的居中部分显示CENTER_CROP/centerCrop 按比例扩大图片的 size 居中显示,使得图片的长宽等于 View 的长宽CENTER_INSIDE/centerinside 将图片的内容完整居中显示,通过缩小比例或原的 size使得图片长 宽等于或小于 View 的长宽FIT_CENTER/fitCenter 把图片按比例扩大/缩小到 VIEW 的宽度,居中显示FIT_END/fitEnd 把图片按比例扩大/缩小到 VIEW 的宽度,居中在 VIEW 的下部位置
34、FIT_START/fitStart 把图片按比例扩大/缩小到 VIEW 的宽度,居中在 VIEW 的上部位置FIT_XY/fitXY 把图片不按比例 扩大/缩小到 VIEW 的大小显示MATRIX/matrix 用矩阵来绘制、动态缩小放大图片来显示。Android:interpolator 控件动画进度(alpha scale translate rotate)Android 提供了几个 Interpolator 子类,实现了不同的速度曲线,如下accelerateDcelerateInterpolator 在动画开始与介绍的地方的速率比较慢,然后开始加速CycleInterpolator
35、动画循环放特定的次数,速率改变沿着正弦曲线DecelerateInterpolator 在动画开始的地方的速率改变比较慢,然后开始减速LinearInterpolator 在动画的以均匀的速率改变android:screenOrientation=“portrait“ 指定屏幕为竖屏android:screenOrientation=“landscape“ 指定屏幕为横屏Android:capitalize 设置英文字母大写类型Android:cursorVisible 设置光标是否显示Android:digits 设置允许输入哪些字符。如“123456&*“Android:drawableB
36、ottom:在 text 的下方输出一个 drawable。如果是颜色 设置为背景颜色Android:drawableLeft:在 text 的左边输出一个 drawable。Android:drawableRight:在 text 的右边输出一个 drawable。Android:drawableTop:在 text 的顶部输出一个 drawable。Android:editable 设置是否可编辑Android:editorExtras 设置文本的额外的输入数据。Android:ellipsize 设置当文字过长时,该控件如何显示,有如下属性start 省略号显示在开头 end 省略号在结
37、尾 middle 省略号在中间 marquee 以跑马灯的方式显示(动画横向移动)Android:ems 设置 TextView 的宽度为 N 个字符的宽度Android:freezesText 设置保存文本的内容以及光标内置Android:includeFontPadding 设置文本是否包含顶部和底部额外空白,默认是 true11 / 12Android:inputMethod 为文本指定输入法,需要完全限定名(完整的包名)Android:inputType 设置广西的类型,用于帮助输入法显示合适的键盘类型Android:lines 设置文本显示的行数Android:lineSpacing
38、Extra 设置行间距Android:lineSpacingMultiplier 设置行间距的倍数。如 1.3Android:linksClickAble 设置链接是否点击连接,即使设置了 autoLickAndroid:marqueeRepeatLimit 在 ellipsize 指定的情况下,设置重复滚动次数。当设置 marquee_forever 为时表示无限次Android:maxEms 设置 TextView 的宽度为最长为 N 个字符的宽度。与 ems 同时使用时覆盖ems 选项android:maxHeight 设置文本区域的最大高度android:maxLength 限制显示的
39、文本长度,超出部分不显示。android:maxLines 设置文本的最大显示行数,与 width 或者 layout_width 结合使用,超出部分自动换行,超出行数将不显示。android:maxWidth 设置文本区域的最大宽度android:minEms 设置 TextView 的宽度为最短为 N 个字符的宽度。与 ems 同时使用时覆盖ems 选项。android:minHeight 设置文本区域的最小高度android:minLines 设置文本的最小行数,与 lines 类似。android:minWidth 设置文本区域的最小宽度android:numeric 如果被设置,该
40、TextView 有一个数字输入法。android:password 以小点”.”显示文本android:phoneNumber 设置为电话号码的输入方式android:privateImeOptions 设置输入法选项android:scrollHorizontally 设置文本超出 TextView 的宽度的情况下,是否出现横拉条android:selectAllOnFocus 如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。TextView 中设置后无效果。android:shadowColor 指定文本阴影的颜色,需要与 shadowRadius 一起使用
41、android:shadowDx 设置阴影横向坐标开始位置。android:shadowDy 设置阴影纵向坐标开始位置。android:shadowRadius 设置阴影的半径。设置为 0.1 就变成字体的颜色了,一般设置为3.0 的效果比较好。android:singleLine 设置单行显示。如果和 layout_width 一起使用,当文本不能全部显示时,后面用“”来表示。如 android:text=“test_ singleLine “adnroid:stretchColumns 在 TableLayout 里指定第几列作为拉伸(当填不满屏幕的时候)android:text 设置显示文本.android:textSize 设置文字大小,推荐度量单位”sp” 或者“pt“android:textStyle 设置字形bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2 可以设置一个或多个,用“|”隔开android:typeface 设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3android:width 设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米),与layout_width 的区别看这里12 / 12