zoukankan      html  css  js  c++  java
  • 控件常用属性

     
    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(毫米):长度单位。
     
  • 相关阅读:
    图片处理
    define 常量的定义和读取
    curl
    stream_get_contents 和file_get_content的区别
    php flock 文件锁
    字符串函数
    php 常量
    debug_backtrace()
    pathlib模块替代os.path
    Python中对 文件 的各种骚操作
  • 原文地址:https://www.cnblogs.com/gmj0113/p/5790670.html
Copyright © 2011-2022 走看看