前言: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显示一行,左右可滑动

实现过程:
gridViewAdapter = new GridViewAdapter(mContext, list1);

ViewGroup.LayoutParams params = gridview.getLayoutParams();

params.width = DensityUtil.dip2px(mContext, 101) * list1.size();

gridview.setLayoutParams(params);

gridview.setNumColumns(list1.size());

gridview.setAdapter(gridViewAdapter);

DensityUtil代码如下:

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);    }
}  
layout里定义GridView:

<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属性大全相关推荐

  1. 关于基本控件EditText属性大全详解

    1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: 把该EditText设为:android:password="true" // 以".&quo ...

  2. Android基础知识 - ListView

    ListView 简单介绍 ListView的简单用法 定制ListView的界面 新建Fruit类 ListView子项对应的布局 自定义适配器FruitAdapter 提升ListView的运行效 ...

  3. EditText属性大全

    本文主要研究一下EditText的属性(还没研究完,边研究边写)   android:layout_gravity="center_vertical"//设置控件显示的位置:默认t ...

  4. android中用代码设置edittext属性为密码,Android中EditText常用属性设置

    EditText继承关系:View–>TextView–>EditText 常用属性如下:android:layout_gravity="center_vertical" ...

  5. Android中shape中的属性大全

    <shape><!-- 实心 --><solid android:color="#ff9d77"/><!-- 渐变 --><g ...

  6. Android实战场景 - 限制EditText仅支持输入数字、英文、汉字,禁止输入表情等特殊符号

    因项目需求,需要禁止用户输入表情符号,具体如下 ~ EditText相关Blog TextView.EditText属性大全 监听 EditText 文本变化 设置 EditText 光标颜色与下划线 ...

  7. android gridview item 点击,Android-取消GridView/ListView item被点击时的效果

    方法一,在控件被初始化的时候设置 gridView.setSelector(new ColorDrawable(Color.TRANSPARENT)); listView.setSelector(ne ...

  8. Android(java)学习笔记27:TextView属性大全

    TextView属性大全: android:autoLink       设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web/email/ph ...

  9. 【Android UI】ListView系列一(基础篇)

    ----–ListView基础 ListView是一个用于显示滚动的列表项的视图组.listview通过一个适配器adapter将数据以列表的形式展示出来.listview可以说是Android应用层 ...

最新文章

  1. Centos Docker安装、升级、卸载
  2. 让Linux系统开机速度更快的方法
  3. 解决跨域常见方案(is therefore not allowed access)
  4. 合并的表格怎么加横线_excel表格如何在数据之间加横线-在excel里怎么添加单元格横线...
  5. C# 结合 Golang 开发
  6. PLSQL安装教程,无需oracle客户端(解决本地需要安装oracle客户端的烦恼)
  7. Redis工作笔记-事务
  8. PHP格子在线自动发卡网源码 全新一键安装版
  9. Bootstrap 弹出提示插件Popover 的选项
  10. java 485通讯_CAKJ-963U3-KT带485通讯上下限报警智能型仪表
  11. 去重仅保留一条_重庆磁器口只是一条商业街?看过它的发展历史,你就不会这么想了...
  12. PHP网页监控系统,实现网页变化监控
  13. 小米笔记本pro 双硬盘双系统 opencore引导安装黑苹果
  14. 拿下多家主机厂数百万前装定点,禾赛科技激光雷达量产进程加速
  15. 28000 mysql_MysqlERROR1698(28000)解决
  16. 固态硬盘的计算机需要进行磁盘碎片整理吗,浅析为什么固态硬盘不需要磁盘碎片整理...
  17. STL:: allocator之deallocate destory的区别与联系
  18. 卸载mysql5.6.34_5.6.34版本安装后需要做的事项\mysql\.\innodb_table_stats\ not found.-hxl-ChinaUnix博客...
  19. Basler驱动如何彩色相机白平衡说明
  20. python 编写获取阿里巴巴行业分类数据代码

热门文章

  1. 南卡和FIIL蓝牙耳机哪个更好?南卡小音舱与FIIL CC nano蓝牙耳机深度评测对比
  2. SJ210-DC12V高温气动电磁阀
  3. 【ESP32 S2 烧录AT固件 串口与USB两种方式】
  4. Kotlin 安利贴 2. 扩展函数
  5. 你对MANIFEST.MF这个文件知道多少?
  6. 学计算机的个人评价,计算机*学生的自我评价
  7. TOGAF架构开发方法 - 使用Visual Paradigm 自动化 过程
  8. 【智能时代的颠覆】AI让物联网不再是物联网
  9. 电商企业如何降低获客成本?
  10. 北京炒房族急于套现抛售次新房 同楼盘差价近万