Android基础GridView、ListView、Edittext属性大全
前言:Android基础控件的属性,在开发过程中会用到,另外多了解一些属性会加快功能的实现,特别是Edittext文本输入在用户填写时肯定用到,如果充分利用其属性,会事半功倍。有很多控件特殊属性连android大牛都不一样玩的很6,所以骚年们,开发之路漫长,平静自己的心态,且专心编程且享受生活,人生也就那么回事不必心浮气躁,加油吧!
一:GridView的一些特殊属性:
1.android:numColumns=”auto_fit” //GridView的列数设置为自动
2.android:columnWidth=”90dp " //每列的宽度,也就是Item的宽度
3.android:stretchMode=”columnWidth"//缩放与列宽大小同步
4.android:verticalSpacing=”10dp” //两行之间的边距
5.android:horizontalSpacing=”10dp” //两列之间的边距
6.android:cacheColorHint="#00000000" //去除拖动时默认的黑色背景
7.android:listSelector="#00000000" //去除选中时的黄色底色
8.android:scrollbars="none" //隐藏GridView的滚动条
9.android:fadeScrollbars="true" //设置为true就可以实现滚动条的自动隐藏和显示
10.android:fastScrollEnabled="true" //GridView出现快速滚动的按钮(至少滚动4页才会显示)
11.android:fadingEdge="none" //GridView衰落(褪去)边缘颜色为空,缺省值是vertical。(可以理解为上下边缘的提示色)
12.android:fadingEdgeLength="10dip" //定义的衰落(褪去)边缘的长度
13.android:stackFromBottom="true" //设置为true时,你做好的列表就会显示你列表的最下面
14.android:transcriptMode="alwaysScroll" //当你动态添加数据时,列表将自动往下滚动最新的条目可以自动滚动到可视范围内
15.android:drawSelectorOnTop="false" //点击某条记录不放,颜色会在记录的后面成为背景色,内容的文字可见(缺省为false)
案例:Grider显示一行,左右可滑动
public class DensityUtil { /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } /** * 根据手机的分辨率从 px(像素) 的单位 转成为 dp */ public static int px2dip(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); }
}
<HorizontalScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollbars="none" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <GridView android:id="@+id/gridview" android:layout_width="match_parent" android:layout_height="match_parent" android:columnWidth="100dp" //这里宽 是每个item 显示的限制最大度android:gravity="center" android:horizontalSpacing="1.0dip" android:verticalSpacing="1.0dip" android:numColumns="auto_fit" android:stretchMode="spacingWidthUniform" /> </LinearLayout> </HorizontalScrollView>
需要注意 :LinearLayout没有的会出现这种情况:全部重叠在一起
二:ListView的一些特殊属性:
<ListView
android:id="@+id/lv_appmanage
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:cacheColorHint="#00000000"
android:divider="#fff"
android:fastScrollEnabled="true"
android:dividerHeight="1.0dip"
android:paddingLeft="3.0dip"
android:paddingRight="3.0dip" />
1. 背景色:(默认是透明的,固定不变的。)
在滚动条滚动的过程中如果实时地去将当前每个Item的显示内容跟背景进行混合运算,
android系统为了优化,用了 android:cacheColorHint 的属性,
在黑色主题下默认的颜色值是#191919,所以就出现了刚才的画面,有一半是黑色的。
如果换背景的颜色直接指定android:cacheColorHint为你所要的颜色。
如果用图片做背景的话,将android:cacheColorHint指定为透明,会牺牲一些效率。
2. 上边和下边阴影 :
android:fadingEdge="none"
3. 行间隔:
listView.setDividerHeight(0);
4. 选中时的颜色:
android:listSelector="@color/pink" listView item 。默认为橙黄底色。
5. 间隔 :
android:divider="@drawablest_driver" 设置分割线的图片资源,如果则只要设置为
android:divider="@drawable/@null" 不想显示分割线
6. 滚动条:
android:scrollbars="none" setVerticalScrollBarEnabled(true);
7. 滚动条:
android:fadeScrollbars="true" 设置为true就可以实现 自动隐藏和显示
8. 自动滑动到最底部:
android:transcriptMode="alwaysScroll"
(显示大量Items的控件实时跟踪、查看信息,希望最新的条目在可视范围内。
通过设置的控件transcriptMode属性可以将Android平台的控件(支持ScrollBar)自动滑动到最底部。)
9. 加快滑动速度:
android:fastScrollEnabled = "true"
10.长按颜色是否覆盖文本
android:drawSelectorOnTop="true" 点击某一条记录,文字被遮住。
android:drawSelectorOnTop="false" 点击某一条记录,文字是可见。
9.在ListView中添加属性:
android:scrollbarTrackVertical="@drawable/scrollbar_vertical_track"
android:scrollbarThumbVertical="@drawable/scrollbar_vertical_thumb"
自定义的xml文件,放在Drawable中,track是指长条,thumb是指短条,然后再xml中定义短条和长条的样式
android:scrollingCache="false"
10.定位最后一行数据:
mlist.setSelection(mlist.size());
11 滚动条样式 android:scrollbarStyle
insideOverlay:默认值,表示在padding区域内并且覆盖在view上
insideInset:表示在padding区域内并且插入在view后面
outsideOverlay:表示在padding区域外并且覆盖在view上,推荐这个
outsideInset:表示在padding区域外并且插入在view后面
案例:解决ScrollView 与之布局显示不全冲突:
//一:测量高度
int totalHeight = 0;private void setListViewHeightBasedOnChildren(ListView listView) {android.widget.ListAdapter listAdapter = listView.getAdapter();if (listAdapter == null) {return;} for (int i = 0; i < listAdapter.getCount(); i++) {View listItem = listAdapter.getView(i , null, listView);listItem.measure(0, 0);totalHeight += listItem.getMeasuredHeight();//测量每一item高度}ViewGroup.LayoutParams params=listView.getLayoutParams();params.height = totalHeight + listView.getPaddingBottom()+ listView.getPaddingTop()+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));//item分隔符占有的高度listView.setLayoutParams(params);}//自定义控件@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // TODO Auto-generated method stub int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); //但是没有每个item分隔符占有的高度} //三:直接设置高度
1.在ScrollView中添加一属性 android:fillViewport="true" ,这样就可以让ListView 最大屏幕显示了
2.指定ListView的高度 android:layout_height="420dp" ;
————————————————————————————————————
三:EditText、TextView操作属性大全
android:inputType="textMultiLine"//可以显示多行
android:gravity="left|top"//输入时光标左上角
android:minLines="6" //最小显示6行
android:layout_gravity="center_vertical"//设置控件显示的位置:默认top,这里居中显示,还有bottom
android:hint="请输入数字!"//设置显示在空间上的提示信息
android:numeric="integer"//设置只能输入整数,如果是小数则是:decimal
android:singleLine="true"//设置单行输入,一旦设置为true,则文字不会自动换行。
android:gray="top" //多行中指针在第一行第一位置
et.setSelection(et.length());//调整光标到最后一行
Android:autoText //自动拼写帮助
Android:capitalize //首字母大写
Android:digits //设置只接受某些数字
Android:singleLine //是否单行或者多行,回车是离开文本框还是文本框增加新行
Android:numeric //只接受数字
Android:password //密码
Android:phoneNumber // 输入电话号码
Android:editable //是否可编辑
Android:autoLink=”all” //设置文本超链接样式当点击网址时,跳向该网址
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"//文字外观,这里引用的是系统自带的一个外观,表示系统是否有这种外观,否则使用默认的外观。不知道这样理解对不对
editText.setInputType(InputType.TYPE_CLASS_NUMBER); //输入类型
editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(6)}); //最大输入长度
editText.setTransformationMethod(PasswordTransformationMethod.getInstance()); //设置为密码输入框
属性名称描述
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:digits设置允许输入哪些字符。如“1234567890.+-*/% ()”
android:drawableBottom在text的下方输出一个drawable,如图片。如果指定一个颜色的话会把text的背景设为该颜色,并且同时和background使用时覆盖后者。
android:drawableLeft在text的左边输出一个drawable,如图片。
android:drawablePadding设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。
/********光标*************************/
android:textCursorDrawable="@color/title_bac" 颜色
Editable ea = editText.getText();
editText.setSelection(ea.length()) 移到最后
android:cursorVisible 显示/隐。
Android基础GridView、ListView、Edittext属性大全相关推荐
- 关于基本控件EditText属性大全详解
1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: 把该EditText设为:android:password="true" // 以".&quo ...
- Android基础知识 - ListView
ListView 简单介绍 ListView的简单用法 定制ListView的界面 新建Fruit类 ListView子项对应的布局 自定义适配器FruitAdapter 提升ListView的运行效 ...
- EditText属性大全
本文主要研究一下EditText的属性(还没研究完,边研究边写) android:layout_gravity="center_vertical"//设置控件显示的位置:默认t ...
- android中用代码设置edittext属性为密码,Android中EditText常用属性设置
EditText继承关系:View–>TextView–>EditText 常用属性如下:android:layout_gravity="center_vertical" ...
- Android中shape中的属性大全
<shape><!-- 实心 --><solid android:color="#ff9d77"/><!-- 渐变 --><g ...
- Android实战场景 - 限制EditText仅支持输入数字、英文、汉字,禁止输入表情等特殊符号
因项目需求,需要禁止用户输入表情符号,具体如下 ~ EditText相关Blog TextView.EditText属性大全 监听 EditText 文本变化 设置 EditText 光标颜色与下划线 ...
- android gridview item 点击,Android-取消GridView/ListView item被点击时的效果
方法一,在控件被初始化的时候设置 gridView.setSelector(new ColorDrawable(Color.TRANSPARENT)); listView.setSelector(ne ...
- Android(java)学习笔记27:TextView属性大全
TextView属性大全: android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web/email/ph ...
- 【Android UI】ListView系列一(基础篇)
----–ListView基础 ListView是一个用于显示滚动的列表项的视图组.listview通过一个适配器adapter将数据以列表的形式展示出来.listview可以说是Android应用层 ...
最新文章
- Centos Docker安装、升级、卸载
- 让Linux系统开机速度更快的方法
- 解决跨域常见方案(is therefore not allowed access)
- 合并的表格怎么加横线_excel表格如何在数据之间加横线-在excel里怎么添加单元格横线...
- C# 结合 Golang 开发
- PLSQL安装教程,无需oracle客户端(解决本地需要安装oracle客户端的烦恼)
- Redis工作笔记-事务
- PHP格子在线自动发卡网源码 全新一键安装版
- Bootstrap 弹出提示插件Popover 的选项
- java 485通讯_CAKJ-963U3-KT带485通讯上下限报警智能型仪表
- 去重仅保留一条_重庆磁器口只是一条商业街?看过它的发展历史,你就不会这么想了...
- PHP网页监控系统,实现网页变化监控
- 小米笔记本pro 双硬盘双系统 opencore引导安装黑苹果
- 拿下多家主机厂数百万前装定点,禾赛科技激光雷达量产进程加速
- 28000 mysql_MysqlERROR1698(28000)解决
- 固态硬盘的计算机需要进行磁盘碎片整理吗,浅析为什么固态硬盘不需要磁盘碎片整理...
- STL:: allocator之deallocate destory的区别与联系
- 卸载mysql5.6.34_5.6.34版本安装后需要做的事项\mysql\.\innodb_table_stats\ not found.-hxl-ChinaUnix博客...
- Basler驱动如何彩色相机白平衡说明
- python 编写获取阿里巴巴行业分类数据代码