一、 Android XML 属性
- android:baselineAligned="false"
在项目中会经常使用layout_weight属性利用比重来设置控件的大小,比如4个button各占用了LinearLayout宽度的1/4,而且是上边缘和下边缘都是对齐的,是我们预期想要的效果,但是当第三个button的Text内容变长时,会变成如下的效果: 会发现第三个内容由于长度超过LinearLayout宽度的1/4,会换行,这个是正常的,但是却发现整个button位置下移了,没有和其他三个button对齐,很丑,这是怎么回事呢,仔细看button中text会发现Next和第三个button中text第一行是位于一条水平线上的,这个水平线其实就是所谓的baseline,查看Android develper的LinearLayout的API会发现有一个属性:android:baselineAligned,这个属性默认是true,所以LinearLayout里面的子View默认是baseline 对齐的,这就会导致第三个button第一行为了和其他button的text对齐下移
- android:textAlignment="center"
- ImageView中XML属性src和background的区别:
- 1)二者都可以用来展示某个drawable android:background:background会根据ImageView组件给定的长宽进行拉伸,
- 2)android:src:而src就存放的是原图的大小,不会进行拉伸。src是图片内容,bg是背景,可以同时使用。
此外:scaleType只对src起作用; bg可设置透明度,比如在ImageButton中就可以用Android:scaleType控制图片的缩放方式,
- android:layout_alignTop
android:layout_alignLeft="@id/center_btn"和某一个控件的左边对齐
android:layout_alignRight="@id/center_btn"和某一个控件的右边对齐
android:layout_alignTop="@id/center_btn"和某一个控件的上方对齐
android:layout_alignBottom="@id/center_btn"和某一个控件的下方对齐
复制代码
-
Android布局技巧:使用TextView的drawable属性
- TextView有一些属性可以在Text的四周设置一个drawable对象,图片,shape等合法的drawable都可以用。 left/top/right/bottom就是在文字的上下左右放置drawable。而drawableStart和drawableEnd则有特殊的意义,虽然它们是API 14加上去的,但是要在API 17后才能真正的生效,它们的作用是当语言方向发生变化时,会换边,LTR语言drawableStart在左边,而drawableEnd在右边;但对于RTL语言来说就会反过来drawableStart在右,drawableEnd在左
android:drawableBottom:在text的下方输出一个drawable,可以是图片,样式,颜色等。 android:drawableLeft:在text的左边输出一个drawable,可以是图片,样式,颜色等。 android:drawableRight:在text的右边输出一个drawable,可以是图片,样式,颜色等。 android:drawableTop:在text的正上方输出一个drawable,可以是图片,样式,颜色等。 android:drawableStart: 在text的开始处输出一个drawable,可以是图片,样式,颜色等。 android:drawableEnd: 在text的结束处输出一个drawable,可以是图片,样式,颜色等 复制代码
- TextView的drawable的一些注意事项
1、TextView的padding作用在drawable之外 2、TextView的高度或宽度为wrap_content时将是文字和drawable中较大的那一个,再加上padding和margin 3、gravity只对文字起作用,对drawable不起作用 4、drawable会在其所在的维度居中显示,比如drawableLeft是上下垂直居中的,以此类推 复制代码