1.文本标签TextView   :用来显示文本,可修改文本颜色、大小等属性


2.按钮 Button :按钮;


3.文本框 EditText :实现一个登陆界面,如用户账号、密码等信息,然后获取数据内容,把他交给服务器来判断                          

android:hint="请输入数字!"//设置显示在空间上的提示信息
android:numeric="integer"//设置只能输入整数,如果是小数则是:decimal
android:singleLine="true"//设置单行输入,一旦设置为true,则文字不会自动换行。
android:password="true"//设置只能输入密码
android:textColor = "#ff8c00"//字体颜色
android:textStyle="bold"//字体,bold, italic, bolditalic
android:textSize="20dip"//大小
android:capitalize = "characters"//以大写字母写
android:textAlign="center"//EditText没有这个属性,但TextView有,居中
android:textColorHighlight="#cccccc"//被选中文字的底色,默认为蓝色
android:textColorHint="#ffff00"//设置提示信息文字的颜色,默认为灰色android:textScaleX="1.5"//控制字与字之间的间距
android:typeface="monospace"//字型,normal, sans, serif, monospace
android:background="@null"//背景,这里没有,指透明
android:layout_weight="1"//权重,控制控件之间的地位,在控制控件显示的大小时蛮有用的。
android:textAppearance="?android:attr/textAppearanceLargeInverse"//文字外观
android:layout_gravity="center_vertical"//设置控件显示的位置:默认top,这里居中显示,还有bottom
android:gray="top" //多行中指针在第一行第一位置
et.setSelection(et.length());//调整光标到最后一行
android:autoText //自动拼写帮助
android:capitalize //首字母大写
android:digits //设置只接受某些数字
Android:singleLine//是否单行或者多行,回车是离开文本框还是文本框增加新行
android:numeric //只接受数字
android:phoneNumber //输入电话号码
android:editable //是否可编辑
android:autoLink=”all” //设置文本超链接样式当点击网址时,跳向该网址 
android:textAppearance="?android:attr/textAppearanceLargeInverse"//文字外观,这里引用的是系统自带的一个外观,?表示系统是否有这种外观, 
android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)
android:autoText如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。
android:bufferType指定getText()方式取得的文本类别。选项editable 类似于StringBuilder可追加字符, 也就是说getText后可调用append方法设置文本内                          容。spannable 则可在给定的字符区域使用样式,参见这里1、这里2。
android:capitalize设置英文字母大写类型。此处无效果,需要弹出输入法才能看得到,参见EditView此属性说明。

android:cursorVisible设定光标为显示/隐藏,默认显示。

android:digits设置允许输入哪些字符。如“1234567890.+-*/% ()”

android:drawableBottom在text的下方输出一个drawable,如图片。如果指定一个颜色的话会把text的背景设为该颜色,并且同时和background使用时覆盖后者。
android:drawableLeft在text的左边输出一个drawable,如图片。
android:drawablePadding设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负                                   数,单独使用没有效果。
android:drawableRight在text的右边输出一个drawable,如图片。
android:drawableTop在text的正上方输出一个drawable,如图片。
android:editable设置是否可编辑。这里无效果,参见EditView。
android:editorExtras设置文本的额外的输入数据。在EditView再讨论。
android:ellipsize设置当文字过长时,该控件该如何显示。有如下值设置:”start”—?省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在                         中间;”marquee” ——以跑马灯的方式显示(动画横向移动)
android:freezesText设置保存文本的内容以及光标的位置。参见:这里。
android:gravity设置文本位置,如设置成“center”,文本将居中显示。
android:hintText为空时显示的文字提示信息,可通过textColorHint设置提示信息的颜色。此属性在EditView中使用,但是这里也可以用。
android:imeOptions附加功能,设置右下角IME动作与编辑框相关的动作,如actionDone右下角将显示一个“完成”,而不设置默认是一个回车符号。这个在EditView中再详细说明,此处无用。
android:imeActionId设置IME动作ID。在EditView再做说明,可以先看这篇帖子:这里。
android:imeActionLabel设置IME动作标签。在EditView再做说明。
android:includeFontPadding设置文本是否包含顶部和底部额外空白,默认为true。
android:inputMethod为文本指定输入法,需要完全限定名(完整的包名)。例如:com.google.android.inputmethod.pinyin,但是这里报错找不到。
android:inputType设置文本的类型,用于帮助输入法显示合适的键盘类型。在EditView中再详细说明,这里无效果。
android:linksClickable设置链接是否点击连接,即使设置了autoLink。
android:marqueeRepeatLimit在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为marquee_forever时表示无限次。
android:ems设置TextView的宽度为N个字符的宽度。这里测试为一个汉字字符宽度,如图:
android:maxEms设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。
android:minEms设置TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。
android:maxLength限制显示的文本长度,超出部分不显示。
android:lines设置文本的行数,设置两行就显示两行,即使第二行没有数据。
android:maxLines设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示。
android:minLines设置文本的最小行数,与lines类似。
android:lineSpacingExtra设置行间距。
android:lineSpacingMultiplier设置行间距的倍数。如”1.2”
android:numeric如果被设置,该TextView有一个数字输入法。此处无用,设置后唯一效果是TextView有点击效果,此属性在EdtiView将详细说明。
android:password以小点”.”显示文本
android:phoneNumber设置为电话号码的输入方式。
android:privateImeOptions设置输入法选项,此处无用,在EditText将进一步讨论。
android:scrollHorizontally设置文本超出TextView的宽度的情况下,是否出现横拉条。
android:selectAllOnFocus如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。TextView中设置后无效果。
android:shadowColor指定文本阴影的颜色,需要与shadowRadius一起使用。效果:
android:shadowDx设置阴影横向坐标开始位置。
android:shadowDy设置阴影纵向坐标开始位置。
android:shadowRadius设置阴影的半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比较好。
android:singleLine设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。如android:text="test_ singleLine " android:singleLine="true" android:layout_width="20dp"将只显示“t…”。如果不设置singleLine或者设置为false,文本将自动换行
android:shadowDx设置阴影横向坐标开始位置。
android:shadowDy设置阴影纵向坐标开始位置。
android:shadowRadius设置阴影的半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比较好。
android:singleLine设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。如android:text="test_ singleLine " android:singleLine="true" android:layout_width="20dp"将只显示“t…”。如果不设置singleLine或者设置为false,文本将自动换行
android:text设置显示文本.
android:textSize设置文字大小,推荐度量单位”sp”,如”15sp”
android:textStyle设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开
android:typeface设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3]
android:height设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)
android:maxHeight设置文本区域的最大高度
android:minHeight设置文本区域的最小高度
android:width设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米),与layout_width的区别看这里。
android:maxWidth设置文本区域的最大宽度
android:minWidth设置文本区域的最小宽度
android:textAppearance设置文字外观。如“?android:attr/textAppearanceLargeInverse

4.单选按钮(RadioButton、RadioGroup)

   复选按钮(CheckBox)


5.RelativeLayout布局

第一类:属性值为true或false
    android:layout_centerHrizontal                                           水平居中
    android:layout_centerVertical                                            垂直居中
    android:layout_centerInparent                                           相对于父元素完全居中
    android:layout_alignParentBottom                                     贴紧父元素的下边缘
    android:layout_alignParentLeft                                          贴紧父元素的左边缘
    android:layout_alignParentRight                                        贴紧父元素的右边缘
    android:layout_alignParentTop                                          贴紧父元素的上边缘
    android:layout_alignWithParentIfMissing                            如果对应的兄弟元素找不到的话就以父元素做参照物

    第二类:属性值必须为id的引用名“@id/id-name”
    android:layout_below                          在某元素的下方
    android:layout_above                          在某元素的的上方
    android:layout_toLeftOf                       在某元素的左边
    android:layout_toRightOf                     在某元素的右边

    android:layout_alignTop                      本元素的上边缘和某元素的的上边缘对齐
    android:layout_alignLeft                      本元素的左边缘和某元素的的左边缘对齐
    android:layout_alignBottom                 本元素的下边缘和某元素的的下边缘对齐
    android:layout_alignRight                    本元素的右边缘和某元素的的右边缘对齐

    第三类:属性值为具体的像素值,如30dip,40px
    android:layout_marginBottom              离某元素底边缘的距离
    android:layout_marginLeft                   离某元素左边缘的距离
    android:layout_marginRight                 离某元素右边缘的距离
    android:layout_marginTop                   离某元素上边缘的距离


5.AutoCompleteTextView控件  :可编辑的文本视图

6.ScorllView控件 和HorizontalScrollView控件:

      ScorllView控件设置垂直滚动条

      HorizontalScrollView控件设置水平滚动条

7.SeekBar控件  :拖动条类似进度条,不同的是用户可以控制

8.RatingBar控件: 是用星来评级

9.NotificationBar 控件 :

1.显示接收到短消息、即使消息等信息 (如QQ、微信、新浪、短信)  
2.显示客户端的推送消息(如有新版本发布,广告,推荐新闻等) 
3.显示正在进行的事物(例如:后台运行的程序)(如音乐播放器、版本更新时候的下载进度等)

 10.ProgressBar控件 :
    ProgressBar是Android系统中的进度条,主要用于显示一些操作的进度。

android:animationResolution 超时的动画帧之间的毫秒 ;必须是一个整数值,如“100”。
android:indeterminate 是否允许使用不确定模式,在不确定模式下,进度条动画无限循环
android:indeterminateBehavior 定义当进度达到最大时,不确定模式的表现;
该值必须为repeat或者cycle,repeat表示进度从0重新开始;cycle表示进度保持当前值,并且回到0
android:indeterminateDrawable 定义不确定模式是否可拉
android:indeterminateDuration 时间不定的动画
android:indeterminateOnly 限制为不定模式
android:interpolator
android:max 定义进度的最大值
android:maxHeight 进度Widget最大高
android:miniHeight 进度Widget最小高
android:maxWidth 进度Widget最大宽
android:minWidth 进度Widget最小宽
android:mirrorForRtl 定义了相关画板如果需要反映在RTL模式
android:progress 设置进度的默认值,值介于0到max之间
android:progressDrawable
android:secondaryProgress 定义二级进度值,值介于0到max。该进度在主进度和背景之间。比如用于网络播放视频时,二级进度用于表示缓冲进度,主进度用于表示播放进度。
11. CalendarView DatePicker、TimePicker控件

CalendarView

常用属性:

        showWeekNumber:是否展示每周的序号。注:该序号是按年算的,即每一年的第一周都是1。

        shownWeekCount:每一页显示的周的个数

        minDate:控件的最早时间,是以月/日/年的格式赋值的。如:9/20/2014年,那么该日历控件最多只能早到2014年9月20日。

        maxDate:控制的最晚时间。具体格式同minDate。

        firstDayOfWeek:每周的第一天。默认的是"日,一,二,三,四,五,六,七"。假设该值为5,那么顺序应该是"四,五,六,日,一,二,三"。

        weekDayTextAppearance:指的是上面的用来标识周几的文字的样式。

        dateTextAppearance:显示具体日期的文字样式。

       selectedWeekBackgroundColor:被选中周的背景色。例如该值为#ff0000,那么上周中48对就的周(也就是被选中的周)的背景就会变成红色。

       focusedMonthDateColor:当前显示的月份中的日期的字体颜色。也就是上图中的纯黑色文字的颜色。

       unfocusedMonthDateColor:非当前月的日期的字体颜色。即上图中颜色稍淡的部分的字体颜色。

       weekNumberColor:周序号的字体颜色。即上图中左边红框中的字体颜色。

       weekSeparatorLineColor:周之前的分隔线的颜色。

       selectedDateVerticalBar:上图中25号是被选中的,他两边各有一个青色的图片,而该属性就是用来指定该图片的。

DatePicker

       它是用来选择日期的,即选择年月日的。获取用户选择的年月日,可以通过init()中的第四个参数,它与DatePickerDialog类似。示例如下:

常用属性

       属性中minDate,maxDate与CalendarView一样。

       calendarViewShown:在默认时DatePicker有一个CalendarView,该属性就是控制CalendarView是否显示。
       spinnersShown:DatePicker由两部分组成一部分是CalendarView,一部分是spinner。这个属性是控制spinner的显示或隐藏。

TimePicker控件

       没有特殊的属性,它是用来选择时间的。可以通过setOnTimeChangedListener来获取选择的时间。它与TimePickerDialog类似。

12、AlertDialog

AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDialog来创建出一个AlertDialog。

要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法。

使用AlertDialog.Builder创建对话框需要了解以下几个方法:

setTitle :为对话框设置标题

setIcon :为对话框设置图标
   setMessage:为对话框设置内容
   setView : 给对话框设置自定义样式
   setItems :设置对话框要显示的一个list,一般用于显示几个命令时
   setMultiChoiceItems :用来设置对话框显示一系列的复选框
   setNeutralButton  :普通按钮

setPositiveButton :给对话框添加"Yes"按钮
  setNegativeButton :对话框添加"No"按钮
  create : 创建对话框
  show :显示对话框

13 ProgressDialog的使用 


ProgressDialog 继承自AlertDialog,AlertDialog继承自Dialog,实现DialogInterface接口。


ProgressDialog的创建方式有两种,一种是new Dialog ,一种是调用Dialog的静态方法Dialog.show()。


      

[java]  view plain  copy
  1. // 方式一:new Dialog  
  2.     final ProgressDialog dialog = new ProgressDialog(this);  
  3.     dialog.show();  

[java]  view plain  copy
  1. // 方式二:使用静态方式创建并显示,这种进度条只能是圆形条,设置title和Message提示内容  
  2.     ProgressDialog dialog2 = ProgressDialog.show(this"提示""正在登陆中");  

[java]  view plain  copy
  1. // 方式三 使用静态方式创建并显示,这种进度条只能是圆形条,这里最后一个参数boolean indeterminate设置是否是不明确的状态  
  2.     ProgressDialog dialog3 = ProgressDialog  
  3.             .show(this"提示""正在登陆中"false);  

[java]  view plain  copy
  1. // 方式四 使用静态方式创建并显示,这种进度条只能是圆形条,这里最后一个参数boolean cancelable 设置是否进度条是可以取消的  
  2.     ProgressDialog dialog4 = ProgressDialog.show(this"提示""正在登陆中",  
  3.             falsetrue);  


[java]  view plain  copy
  1. // 方式五 使用静态方式创建并显示,这种进度条只能是圆形条,这里最后一个参数 DialogInterface.OnCancelListener  
  2.     // cancelListener用于监听进度条被取消  
  3.     ProgressDialog dialog5 = ProgressDialog.show(this"提示""正在登陆中"true,  
  4.             true, cancelListener);  

方式五中需要一个cancelListener,代码如下;

[java]  view plain  copy
  1. private OnCancelListener cancelListener = new OnCancelListener() {  
  2.   
  3.     @Override  
  4.     public void onCancel(DialogInterface dialog) {  
  5.         // TODO Auto-generated method stub  
  6.         Toast.makeText(MainActivity.this"进度条被取消", Toast.LENGTH_LONG)  
  7.                 .show();  
  8.   
  9.     }  
  10. };  



ProgressDialog的样式有两种,一种是圆形不明确状态,一种是水平进度条状态


第一种方式:圆形进度条

[java]  view plain  copy
  1. final ProgressDialog dialog = new ProgressDialog(this);  
  2.         dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);// 设置进度条的形式为圆形转动的进度条  
  3.         dialog.setCancelable(true);// 设置是否可以通过点击Back键取消  
  4.         dialog.setCanceledOnTouchOutside(false);// 设置在点击Dialog外是否取消Dialog进度条  
  5.         dialog.setIcon(R.drawable.ic_launcher);//  
  6.         // 设置提示的title的图标,默认是没有的,如果没有设置title的话只设置Icon是不会显示图标的  
  7.         dialog.setTitle("提示");  
  8.         // dismiss监听  
  9.         dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {  
  10.   
  11.             @Override  
  12.             public void onDismiss(DialogInterface dialog) {  
  13.                 // TODO Auto-generated method stub  
  14.   
  15.             }  
  16.         });  
  17.         // 监听Key事件被传递给dialog  
  18.         dialog.setOnKeyListener(new DialogInterface.OnKeyListener() {  
  19.   
  20.             @Override  
  21.             public boolean onKey(DialogInterface dialog, int keyCode,  
  22.                     KeyEvent event) {  
  23.                 // TODO Auto-generated method stub  
  24.                 return false;  
  25.             }  
  26.         });  
  27.         // 监听cancel事件  
  28.         dialog.setOnCancelListener(new DialogInterface.OnCancelListener() {  
  29.   
  30.             @Override  
  31.             public void onCancel(DialogInterface dialog) {  
  32.                 // TODO Auto-generated method stub  
  33.   
  34.             }  
  35.         });  
  36.         //设置可点击的按钮,最多有三个(默认情况下)  
  37.         dialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定",  
  38.                 new DialogInterface.OnClickListener() {  
  39.   
  40.                     @Override  
  41.                     public void onClick(DialogInterface dialog, int which) {  
  42.                         // TODO Auto-generated method stub  
  43.   
  44.                     }  
  45.                 });  
  46.         dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消",  
  47.                 new DialogInterface.OnClickListener() {  
  48.   
  49.                     @Override  
  50.                     public void onClick(DialogInterface dialog, int which) {  
  51.                         // TODO Auto-generated method stub  
  52.   
  53.                     }  
  54.                 });  
  55.         dialog.setButton(DialogInterface.BUTTON_NEUTRAL, "中立",  
  56.                 new DialogInterface.OnClickListener() {  
  57.   
  58.                     @Override  
  59.                     public void onClick(DialogInterface dialog, int which) {  
  60.                         // TODO Auto-generated method stub  
  61.   
  62.                     }  
  63.                 });  
  64.         dialog.setMessage("这是一个圆形进度条");  
  65.         dialog.show();  
  66.         new Thread(new Runnable() {  
  67.   
  68.             @Override  
  69.             public void run() {  
  70.                 // TODO Auto-generated method stub  
  71.                 try {  
  72.                     Thread.sleep(5000);  
  73.                     // cancel和dismiss方法本质都是一样的,都是从屏幕中删除Dialog,唯一的区别是  
  74.                     // 调用cancel方法会回调DialogInterface.OnCancelListener如果注册的话,dismiss方法不会回掉  
  75.                     dialog.cancel();  
  76.                     // dialog.dismiss();  
  77.                 } catch (InterruptedException e) {  
  78.                     // TODO Auto-generated catch block  
  79.                     e.printStackTrace();  
  80.                 }  
  81.   
  82.             }  
  83.         }).start();  

其中通过Thread.sleep(5000)模拟后台操作。

cancel和dismiss方法本质都是一样的,都是从屏幕中删除Dialog,唯一的区别是:调用cancel方法会回调DialogInterface.OnCancelListener如果注册的话,dismiss方法不会回掉。


 第二种方式:水平进度条

[java]  view plain  copy
  1. // 进度条还有二级进度条的那种形式,这里就不演示了  
  2.     final ProgressDialog dialog = new ProgressDialog(this);  
  3.     dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);// 设置水平进度条  
  4.     dialog.setCancelable(true);// 设置是否可以通过点击Back键取消  
  5.     dialog.setCanceledOnTouchOutside(false);// 设置在点击Dialog外是否取消Dialog进度条  
  6.     dialog.setIcon(R.drawable.ic_launcher);// 设置提示的title的图标,默认是没有的  
  7.     dialog.setTitle("提示");  
  8.     dialog.setMax(100);  
  9.     dialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定",  
  10.             new DialogInterface.OnClickListener() {  
  11.   
  12.                 @Override  
  13.                 public void onClick(DialogInterface dialog, int which) {  
  14.                     // TODO Auto-generated method stub  
  15.   
  16.                 }  
  17.             });  
  18.     dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消",  
  19.             new DialogInterface.OnClickListener() {  
  20.   
  21.                 @Override  
  22.                 public void onClick(DialogInterface dialog, int which) {  
  23.                     // TODO Auto-generated method stub  
  24.   
  25.                 }  
  26.             });  
  27.     dialog.setButton(DialogInterface.BUTTON_NEUTRAL, "中立",  
  28.             new DialogInterface.OnClickListener() {  
  29.   
  30.                 @Override  
  31.                 public void onClick(DialogInterface dialog, int which) {  
  32.                     // TODO Auto-generated method stub  
  33.   
  34.                 }  
  35.             });  
  36.     dialog.setMessage("这是一个水平进度条");  
  37.     dialog.show();  
  38.     new Thread(new Runnable() {  
  39.   
  40.         @Override  
  41.         public void run() {  
  42.             // TODO Auto-generated method stub  
  43.             int i = 0;  
  44.             while (i < 100) {  
  45.                 try {  
  46.                     Thread.sleep(200);  
  47.                     // 更新进度条的进度,可以在子线程中更新进度条进度  
  48.                     dialog.incrementProgressBy(1);  
  49.                     // dialog.incrementSecondaryProgressBy(10)//二级进度条更新方式  
  50.                     i++;  
  51.   
  52.                 } catch (Exception e) {  
  53.                     // TODO: handle exception  
  54.                 }  
  55.             }  
  56.             // 在进度条走完时删除Dialog  
  57.             dialog.dismiss();  
  58.   
  59.         }  
  60.     }).start();  

更多相关文章

  1. Android(安卓)ListView 滑动背景为黑色的解决办法
  2. Android(安卓)如何让悬浮窗口覆盖显示在导航栏之上?
  3. Git在Android(安卓)Studio中的使用
  4. 7.2 android volley超时重试设置
  5. Android——自由拖动并显示文字的悬浮框实现
  6. compileSdkVersion, minSdkVersion 和 targetSdkVersion,坑爹的A
  7. Android(安卓)camera preview and take picture with V4l2
  8. android TextView EditTextView一些技巧使用 (视图代码布局)
  9. 关于listview

随机推荐

  1. mysql导出表的字段和相关属性的步骤方法
  2. MySQL线程处于Opening tables的问题解决
  3. 解决Can&#39;t locate ExtUtils/MakeMake
  4. MySQL left join操作中on和where放置条件
  5. SQL语句执行深入讲解(MySQL架构总览->查询
  6. MySQL查询条件中放置on和where的区别分析
  7. Mysql InnoDB引擎的索引与存储结构详解
  8. mysql中workbench实例详解
  9. MySQL内存使用的查看方式详解
  10. mysql数据插入效率比较