GridView 中常用的一些属性 相关属性解析:
ndroid:numColumns=”auto_fit” //GridView的列数设置为自动
android:columnWidth=”90dp " //每列的宽度,也就是Item的宽度
android:stretchMode=”columnWidth"//缩放与列宽大小同步
android:verticalSpacing=”10dp” //两行之间的边距
android:horizontalSpacing=”10dp” //两列之间的边距
android:cacheColorHint="#00000000" //去除拖动时默认的黑色背景
android:listSelector="#00000000" //去除选中时的黄色底色
android:scrollbars="none" //隐藏GridView的滚动条
android:fadeScrollbars="true" //设置为true就可以实现滚动条的自动隐藏和显示
android:fastScrollEnabled="true" //GridView出现快速滚动的按钮(至少滚动4页才会显示)
android:fadingEdge="none" //GridView衰落(褪去)边缘颜色为空,缺省值是vertical。(可以理解为上下边缘的提示色)
android:fadingEdgeLength="10dip" //定义的衰落(褪去)边缘的长度
android:stackFromBottom="true" //设置为true时,你做好的列表就会显示你列表的最下面
android:transcriptMode="alwaysScroll" //当你动态添加数据时,列表将自动往下滚动最新的条目可以自动滚动到可视范围内
android:drawSelectorOnTop="false" //点击某条记录不放,颜色会在记录的后面成为背景色,内容的文字可见(缺省为false)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
ListView 几个重要属性:
android:transcriptMode="alwaysScroll"
android:cacheColorHint="#00000000"
android:listSelector="@color/pink" listView item 选中时的颜色。默认为橙黄底色。
android:divider="#f9b68b" //分割线颜色
android:dividerHeight="1dp" //分割线边距
android:scrollbars="none" //不显示滚动条
android:fadingEdge="none" 去掉上边和下边黑色的阴影
// 设置Item之间无间隙
android:divider="#00000000" 或者在javaCode中如下定义:listView.setDividerHeight(0);
android:divider="@drawable/list_driver" 设置分割线的图片资源,如果则只要设置为
android:divider="@drawable/@null" 不想显示分割线
android:scrollbars="none" setVerticalScrollBarEnabled(true); 隐藏listView的滚动条
android:fadeScrollbars="true" 设置为true就可以实现滚动条的自动隐藏和显示
android:transcriptMode="alwaysScroll" 用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,希望最新的条目可以自动滚动到可视范围内。通过设置的控件transcriptMode属性可以将Android平台的控件(支持ScrollBar)自动滑动到最底部。
android:fadingEdge="none" 去掉上边和下边黑色的阴影
android:fastScrollEnabled="false"
android:fastScrollEnabled = "true" 加快滑动速度
android:drawSelectorOnTop="false"
android:scrollingCache="false" ??????????????
android:drawSelectorOnTop="true" 点击某一条记录,颜色会显示在最上面,记录上的文字被遮住,所以点击文字不放,文字就看不到
android:drawSelectorOnTop="false" 点击某条记录不放,颜色会在记录的后面,成为背景色,但是记录内容的文字是可见的
首先是stackFromBottom属性,这只该属性之后你做好的列表就会显示你列表的最下面,值为true和false
android:stackFromBottom="true"
第二是transciptMode属性,需要用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,并且希望最新的条目可以自动滚动到可视范围内。通过设置的控件transcriptMode属性可以将Android平台的控件(支持ScrollBar)自动滑动到最底部。
android:transcriptMode="alwaysScroll"
第三cacheColorHint属性,很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备一张图片然后指定属性 android:background="@drawable/bg",不过不要高兴地太早,当你这么做以后,发现背景是变了,但是当你拖动,或者点击list空白位置的时候发现ListItem都变成黑色的了,破坏了整体效果。
如果你只是换背景的颜色的话,可以直接指定android:cacheColorHint为你所要的颜色,如果你是用图片做背景的话,那也只要将android:cacheColorHint指定为透明(#00000000)就可以了
第四divider属性,该属性作用是每一项之间需要设置一个图片做为间隔,或是去掉item之间的分割线
android:divider="@drawable/list_driver" 其中 @drawable/list_driver 是一个图片资源,如果不想显示分割线则只要设置为android:divider="@drawable/@null" 就可以了
第五fadingEdge属性,上边和下边有黑色的阴影
android:fadingEdge="none" 设置后没有阴影了~
第六scrollbars属性,作用是隐藏listView的滚动条,
android:scrollbars="none"与setVerticalScrollBarEnabled(true);的效果是一样的,不活动的时候隐藏,活动的时候也隐藏
第七fadeScrollbars属性,android:fadeScrollbars="true" 配置ListView布局的时候,设置这个属性为true就可以实现滚动条的自动隐藏和显示。
第八fastScrollEnabled属性 ,
很多开发者不知道ListView列表控件的快速滚动滑块是如何启用的,这里Android开发网告诉大家,辅助滚动滑块只需要一行代码就可以搞定,如果你使用XML布局只需要在ListView节点中加入 android:fastScrollEnabled="true" 这个属性即可,而对于Java代码可以通过myListView.setFastScrollEnabled(true); 来控制启用,参数false为隐藏。 还有一点就是当你的滚动内容较小,不到当前ListView的3个屏幕高度时则不会出现这个快速滚动滑块,同时该方法仍然是AbsListView的基础方法,可以在ListView或GridView等子类中使用快速滚动辅助。
第九drawSelectorOnTop属性
When set to true, the selector will be drawn over the selecteditem. Otherwise the selector is drawn behind the selected item. Thedefault value is false.
android:drawSelectorOnTop="true" 点击某一条记录,颜色会显示在最上面,记录上的文字被遮住,所以点击文字不放,文字就看不到
android:drawSelectorOnTop="false"点击某条记录不放,颜色会在记录的后面,成为背景色,但是记录内容的文字是可见的
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Button 属性:
android:id 为控件指定相应的 ID
android:text 指定控件的文本,置尽量使用 strings.xml android:grivity 指定控件的基本位置 ,比如举重,居右,
android:padding 指定控件的内边距,控件当中的内容
android:singleLine 如果设置为真的话,则将控件的内容在同一行当中显示
android:layout_above 将该空间的底部至于给定 ID 的空间之上
android:layout_below: 将该控件的顶部至于给定 ID 的控件之下
android:layout_toLeftOf: 将该控件的右边缘和给定 ID 的控件的左 边缘对其
android:layout_toRightOf 将该控件的左边缘和给定的 ID 的控件的右边缘对齐
android:layout_alignBaseLine 该控件的 baseline 和给定 ID 的控件的 Baseline 对齐
android:layout_alignBottom 将该控件的底部边缘与给定 ID 控件的底部边缘
android:layout_alignLeft 将该控件左边缘与给定 ID 控件的左边缘对齐
android:layout_alignRight 将该控件的右边缘与给定 ID 控件的右边缘对齐
android:layout_alignTop 将给定控件的顶部边缘与给定 ID 控件的顶部对齐
android:alignParentBottom 如果该值为 true 则将该控件的底部和父控件的底部对齐
android:layout_alignParentLeft 如果该值为 true 则将该控件的左边与父控件的左边对齐
android:layout_alignParentRight 如果该值为 true 则将该控件的右边与父控件的右边对齐
android:layout_alignParentTop 将控件的顶部与父控件的顶部对齐
android:layout_centerHorizontal 如果值为真,该控件将被至于水平方向的中央
android:layout_centerInParent 将被至于父控件水平方向和垂直都居中
android:layout_centerVertical 将被至于垂直方向的中央
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Imageview 属性:
ImageView也就是图像视图,用于在屏幕中显示任何的Drawable对象,通常用来显示图片。有如下属性:
android:adjustViewBounds:用于设置ImageView是否调整自己的边界来保持所显示图片的长宽比。
android:maxHeight:设置ImageView的最大高度,需要设置android:adjustViewBounds属性值为true,否则不起作用。
android:maxWidth:设置ImageView的最大宽度,需要设置android:adjustViewBounds属性值为true,否则不起作用。
android:scaleType:用于设置所显示的图片如何缩放或移动以适应ImageView的大小,其属性值可以是: matrix(使用matrix方式进行缩放)、
fitXY(对图片横向、纵向独立缩放,使得该图片完全适应于该ImageView,图片的纵横比可能会改变)、
fitStart(保持纵横比缩放图片,直到该图片能完全显示在ImageView中,缩放完成后该图片放在ImageView的左上角)、
fitEnd(保持纵横比缩放图片,直到该图片能完全显示在ImageView中,缩放完成后该图片放在ImageView的右下角)、
center(把图像放在ImageView的中间,但不进行任何缩放)、
fitCenter(保持纵横比缩放图片,直到该图片能完全显示在ImageView中,缩放完成后该图片放在ImageView的中央)、
centerCrop(保持纵横比缩放图片,以使得图片能完全覆盖ImageView)或centerInside(保持纵横比缩放图片,以使得ImageView能完全显示该图片)。
android:src:用于设置ImageView所显示的Drawable对象的ID,例如,设置显示保存在res/drawable目录下的名称为flower.jpg的图片,可以将属性值设置为android:src="@drawable/flower"。
android:tint:用于为图片着色,其属性值可以是“#rgb”、“#argb”、“#rrggbb”或“#aarrggbb”表示的颜色值。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
EditTex 属性:
1、EditText输入的文字为密码形式的设置
(1)通过.xml里设置:
把该EditText设为:android:password="true" // 以”.”形式显示文本
(2)在代码里设置:
通过设置EditText的setTransformationMethod()方法来实现隐藏密码或这显示密码。
editText.setTransformationMethod(PasswordTransformationMethod.getInstance());//设置密码为不可见。
2、(1)EditText输入的文字为电话号码
Android:phoneNumber=”true” //输入电话号码
3、EditText字数限制的设置
(1)在.xml中设置:android:maxLength=“50”
(2)代码中设置:
editText.setFilters(new InputFilter[]{newInputFilter.LengthFilter(100)});
4、EditText设置字体
android:typeface="monospace" //设置字型。字形有:normal, sans, serif,monospace
5、EditText是否可编辑
Android:editable // 是否可编辑
6、在EditText中软键盘的调起、关闭
(1)EditText有焦点(focusable为true)阻止输入法弹出
editText=(EditText)findViewById(R.id.txtBody);
editText.setOnTouchListener(new OnTouchListener(){
public boolean onTouch(View v, MotionEvent event){
editText.setInputType(InputType.TYPE_NULL); //关闭软键盘
return false;
}
});
(2)当EidtText无焦点(focusable=false)时阻止输入法弹出
InputMethodManager imm =
(InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(),0);
(3)调用数字键盘并设置输入类型和键盘为英文
etNumber.setInputType(InputType.TYPE_CLASS_NUMBER); //调用数字键盘
rlEditText.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);//设置输入类型和键盘为英文 或者:android:inputType="textUri|textMultiLine"
(4)android:focusable="false"//键盘永远不会弹出
<activity android:name=".AddLinkman"android:windowSoftInputMode="adjustUnspecified|stateHidden"/>//不自动弹出键盘
//关闭键盘(比如输入结束后执行) InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(etEditText.getWindowToken(), 0);
//自动弹出键盘
((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).toggleSoftInput(0,InputMethodManager.HIDE_NOT_ALWAYS);
etEditText.requestFocus();//让EditText获得焦点,但是获得焦点并不会自动弹出键盘
7、android:layout_gravity和android:gravity的区别
(1)android:layout_gravity是本元素对父元素的重力方向。
(2)android:gravity是本元素所有子元素的重力方向。
8、android:padding和android:layout_margin区别
这两个都可以设置边距,但有细微的区别:
(1)android:padding是相对父view的边距
(2)android:layout_margin是相对同一级View的边距
例:LinearLayout是水平布局,下面有两个按钮,
(a)如果右边的按钮想距左边的按钮15px,因为这两个按钮是同一级的,应该用android:layout_margin;
(b)如果右边的按钮想距左边的距离为350px,应该用android:padding
9、android:numeric//只接受数字
android:numeric来控制输入的数字类型,一共有三种分别为integer(正整数)、signed(带符号整数,有正负)和decimal(浮点数)。
10、Enter键图标的设置
软键盘的Enter键默认显示的是“完成”文本,我们知道按Enter建表示前置工作已经准备完毕了,要去什么什么啦。比如,在一个搜索中,我们输入要搜索的文本,然后按Enter表示要去搜索了,但是默认的Enter键显示的是“完成”文本,看着不太合适,不符合搜索的语义,如果能显示“搜索”两个字或者显示一个表示搜索的图标多好。事实证明我们的想法是合理的,Android也为我们提供的这样的功能。通过设置android:imeOptions来改变默认的“完成”文本。这里举几个常用的常量值:
(1)actionUnspecified未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED效果:
(2)actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE效果:
(3)actionGo去往,对应常量EditorInfo.IME_ACTION_GO 效果:
(4)actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH效果:
(5)actionSend 发送,对应常量EditorInfo.IME_ACTION_SEND效果:
(6)actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT效果:
(7)actionDone 完成,对应常量EditorInfo.IME_ACTION_DONE效果:
11、使用android:imeOptinos可对Android自带的软键盘进行一些界面上的设置:
android:imeOptions="flagNoExtractUi" //使软键盘不全屏显示,只占用一部分屏幕 同时,这个属性还能控件软键盘右下角按键的显示内容,默认情况下为回车键 android:imeOptions="actionNone" //输入框右侧不带任何提示 android:imeOptions="actionGo" //右下角按键内容为'开始' android:imeOptions="actionSearch" //右下角按键为放大镜图片,搜索 android:imeOptions="actionSend" //右下角按键内容为'发送' android:imeOptions="actionNext" //右下角按键内容为'下一步' android:imeOptions="actionDone" //右下角按键内容为'完成'
12、限定edittext能输入数字和字母,并且默认输入为数字,如身份证号码
android:inputType="number" android:digits="0123456789xyzXYZ"
13、软键盘的调起导致原来的界面被挤上去,或者导致界面下面的tab导航被挤上去,解决方法如下
解决方法:使用Manifest中的Activity的android:windowSoftInputMode的"adjustPan"属性。另外注意:有关软键盘的问题可参考android:windowSoftInputMode中属性。
14、edittext光标详解 edittext.requestFocusFromTouch();//让光标放入到点击位置。 edittext.requestFocus();//默认方式获得焦点
EditText editor = (EditText)getCurrentView();//光标处插入 int cursor = editor.getSelectionStart(); editor.getText().insert(cursor,delta);让光标移到末端(这样文字就会向前显示) EditText et = ... String text = "text"; et.setText(text); et.setSelection(text.length());
android:cursorVisible="false" 隐藏光标
android:background="#00000000"//不要文本框背景
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Textview 属性:
textview.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);//下划线
textview.getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG ); //中间横线(删除线)
textview.getPaint().setAntiAlias(true);// 抗锯齿
android:ellipsize="end" 以点的形式显示
android:singleLine="false"false为换行
android:maxLength="10"最大字数限制
android:singleLine="true"设置为单行-已过时
android:maxLines="1"设置为1行
android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none /web/email/phone/map/all);
android:autoText 如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用;
android:bufferType 指定getText()方式取得的文本类别。选项editable类似于StringBuilder可追加字符,也就是说getText后可调用append方法设置文本内容spannable 则可在给定的字符区域使用样式;
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 设置是否可编辑;
android:editorExtras 设置文本的额外的输入数据。
android:ellipsize 设置当文字过长时,该控件该如何显示。”start”—省略号显示在开头;”end”— 省略号显示在结尾;”middle”—省略号显示在中间;”marquee” —以跑马灯的方式显示(动画横向移动),但是设置横向移动效果时,需配合 android:focusable="true" android:focusableInTouchMode="true" android:marqueeRepeatLimit="marquee_forever"三个属性搭配使用
android:freezesText 设置保存文本的内容以及光标的位置
android:gravity 设置文本位置,如设置成“center”,文本将居中显示
android:hintText 为空时显示的文字提示信息,可通过textColorHint设置提示信息的颜色。此属性在EditView 中使用,但是这里也可以用
android:imeOptions
android:imeActionId 设置IME动作ID;
android:imeActionLabel 设置IME动作标签;
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,文本将自动换行,但是目前不推荐,单行可以直接使用 lines=1;
android:text 设置显示文本.
android:textAppearance 设置文字外观。如 “?android:attr/textAppearanceLargeInverse”这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。可设置的值如下: textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse
android:textColor 设置文本颜色
android:textColorHighlight 被选中文字的底色,默认为蓝色
android:textColorHint 设置提示信息文字的颜色,默认为灰色。与hint一起使用。
android:textColorLink 文字链接的颜色.
android:textScaleX 设置文字之间间隔,默认为1.0f。
android:textSize 设置文字大小,推荐度量单位”sp”,如”15sp”
android:textStyle 设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开,但是中文加粗就需要在代码中获取到当前TextView在进行设置: TextView tv = (TextView)findViewById(R.id.tv); TextPaint tp = tv.getPaint(); tp.setFakeBoldText(true);
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 设置文本区域的最小宽度;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
布局:
相对布局:// 相对于给定ID控件
android:layout_above 将该控件的底部置于给定ID的控件之上;
android:layout_below 将该控件的底部置于给定ID的控件之下;
android:layout_toLeftOf 将该控件的右边缘与给定ID的控件左边缘对齐;
android:layout_toRightOf 将该控件的左边缘与给定ID的控件右边缘对齐;
android:layout_alignBaseline 将该控件的baseline与给定ID的baseline对齐;
android:layout_alignTop 将该控件的顶部边缘与给定ID的顶部边缘对齐;
android:layout_alignBottom 将该控件的底部边缘与给定ID的底部边缘对齐;
android:layout_alignLeft 将该控件的左边缘与给定ID的左边缘对齐;
android:layout_alignRight 将该控件的右边缘与给定ID的右边缘对齐;
// 相对于父组件
android:layout_alignParentTop 如果为true,将该控件的顶部与其父控件的顶部对齐;
android:layout_alignParentBottom 如果为true,将该控件的底部与其父控件的底部对齐;
android:layout_alignParentLeft 如果为true,将该控件的左部与其父控件的左部对齐;
android:layout_alignParentRight 如果为true,将该控件的右部与其父控件的右部对齐;
// 居中
android:layout_centerHorizontal 如果为true,将该控件的置于水平居中;
android:layout_centerVertical 如果为true,将该控件的置于垂直居中;
android:layout_centerInParent 如果为true,将该控件的置于父控件的中央;
// 指定移动像素
android:layout_marginTop 上偏移的值;
android:layout_marginBottom 下偏移的值;
android:layout_marginLeft 左偏移的值;
android:layout_marginRight 右偏移的值;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
先写这么多,下次有再加吧。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------