Android XML 属性

本文深入解析Android XML布局属性,如android:baselineAligned控制文本基线对齐,避免按钮错位;android:textAlignment调整文本对齐方式;src和background在ImageView中的区别及应用;layout_align系列属性实现控件精确对齐;并探讨TextView的drawable属性及其注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 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是上下垂直居中的,以此类推
    复制代码

转载于:https://juejin.im/post/5bed7f03e51d452ceb51ee2a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值