• 控件常用属性


     
    XML属性 对应方法 备注
    android:text setText(CharSquence)
    setText(int resId)
    设置文本框显示的文本内容
    android:textColor setTextColor(ColorStateList) 设置文本框显示文本的颜色
    android:textSize setTextSize(float) 设置文本框显示文本的字号
    android:textStyle setTypeface(Typeface) 设置文本框显示文本的字体风格
    android:textAppearance   设置文本框显示文本的颜色、字体、大小等样式
    android:ellipsize setEllipsize(TextUitls.TruncateAt) 设置显示文本超出TextView的长度时如何处理处理文本内容
    android:gravity setGravity(int) 设置文本框显示文本的对齐方式
    android:maxLines setMaxLines(int) 设置文本框的最多占几行
    android:minLines setMinines(int) 设置文本框最少占几行
    android:singleLine setTransformationMethod 设置文本框是否是单行模式。
    android:drawableLeft setCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable) 在文本框左侧绘制图像
    android:drawableRight setCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable) 在文本框右侧绘制图像
    android:drawableTop setCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable) 在文本框上方绘制图像
    android:drawableBottom setCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable) 在文本框下方绘制图像
    android:drawableStart   在文本框开始处绘制图像
    android:drawableEnd   在文本框结束处绘制图像
    android:drawablePadding   设置文本框显示文字和图像之间的间距
     
     
    android:layout_gravity 和 android:gravity 的区别
    gravity 这个英文单词是重心的意思,在这里就表示停靠位置的意思。
    从名字上可以看到,android:gravity是对元素本身说的,元素本身的文本显示在什么地方靠着换个属性设置,不过不设置默认是在左侧的。
    android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什么位置。
    比如说button: android:layout_gravity 表示按钮在界面上的位置。 android:gravity表示button上的字在button上的位置。
    当作为父layout的LinearLayout的属性为android:orientation="vertical" 的时候,android:layout_gravity="?"这里设为横向的时候才能生效。比如:left,right,center_horizontal等;
    当作为父layout的LinearLayout的属性为android:orientation="horizental" 的时候,android:layout_gravity="?"这里设为纵向的时候才能生效。比如:top,bottom,center_vertical等;
    有一个比较特殊的是center,不管是横向还是纵向的时候,它总有一个方向起作用, 因为LinearLayout他只可能有一个方向,
    3.ImageView的scaleType属性值 说明
    fitCenter 缺省值.保持纵横比缩放,图片放在ImageView中央
    fitStart  保持纵横比缩放,图片放在ImageView左上角
    fitEnd 保持纵横比缩放,图片放在ImageView右下角
    fitXY  对图片横向、纵向独立缩放以适应控件大小。
    center  把图片放在ImageView中间,不进行任何缩放
    centerCrop  保持纵横比缩放,图片完全覆盖ImageView。
    centerInside  保持纵横比缩小,ImageView能完全显示该图片。
    4.layout_weight
    只有在Linearlayout中,该属性才有效。
    这就是它奇葩的地方,很容易就让我们一直误认为是整个控件分割空间。到这里,大家一定会认为,这样的话,layout_weight 这个属性就没有什么意义了,原以为它可以分配空间呢,原来只是分割剩余空闲空间。
    其实,呵呵,layout_weight 是可以用来进行整个空间的分割的,如果我们让控件的宽度定义为0,这样比如2个控件的 layout_weight="1" 就可以各自50%平分整个空间了,因为:0 + 1/2空闲空间 = 0 + 1/2空闲空间
    这是一个小技巧,也是非常实用的一个实用layout_weight分割方案:定义控件的 layout_width="0dp" 或 layout_height="0dp" 配上 layout_weight 就可以实现对整个空间的比例分割了。
    android:layout_weight的真实含义是:一旦View设置了该属性(假设有效的情况下),那么该 View的宽度等于原有宽度(android:layout_width)加上剩余空间的占比!
    设 屏幕宽度为L,在两个view的宽度都为match_parent的情况下,原有宽度为L,两个的View的宽度都为L,那么剩余宽度为L-(L+L) = -L, 左边的View占比三分之一,所以总宽度是L+(-L)*1/3 = (2/3)L.事实上默认的View的weight这个值为0,一旦设置了这个值,那么所在view在绘制的时候执行onMeasure两次的原因就在 这。
     
    @@设置android:layout_width为wrap_content和match_parent会造成两种截然相反的效果。
    1. 将两个TextView的宽度均设为match_parent,一个权重为1,一个权重为2.得到效果如下:
     
    可以看到权重为1的反而占了三分之二!
    2. 宽度为wrap_content,得到视图如下:
     
    左边 TextView占比三分之一,又正常了。
    5.TextViewellipsize
    TextView及其子类,当字符内容太长显示不下时可以省略号代替未显示的字符;省略号可以在显示区域的起始,中间,结束位置,或者以跑马灯的方式显示文字(textview的状态为被选中)。
    其实现只需在xml中对textview的ellipsize属性做相应的设置即可。
             android:ellipsize="start" 省略号在开头
             android:ellipsize="middle" 省略号在中间
             android:ellipsize="end" 省略号在结尾
             android:ellipsize="marquee" 跑马灯显示
    或者在程序中可通过setEillpsize显式设置。
    注: EditText不支持marquee这种模式。
    6.ps dp sp:
    ps:像素值,开发过程中一般不建议使用。因为不能根据屏幕的分辨率进行等比例的缩放
    dp (dip): 多用于图片大小 p device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。
    sp: 根据屏幕分辨率,等比例缩放,主要用于字体显示。
    in(英寸):长度单位。
    mm(毫米):长度单位。
     
  • 相关阅读:
    Samba 4.0 RC3 发布
    SymmetricDS 3.1.7 发布,数据同步和复制
    Express.js 3.0 发布,Node.js 的高性能封装
    GIFLIB 5.0.1 发布,C语言的GIF处理库
    jQuery UI 1.9.1 发布
    SVN Access Manager 0.5.5.14 发布 SVN 管理工具
    DynamicReports 3.0.3 发布 Java 报表工具
    HttpComponents HttpClient 4.2.2 GA 发布
    AppCan 2.0 正式发布,推移动应用云服务
    Ruby 2.0 的新功能已经冻结
  • 原文地址:https://www.cnblogs.com/gmj0113/p/5790670.html
Copyright © 2020-2023  润新知