xml布局内容总结(一)--Android

本文介绍在Android开发中如何利用XML布局文件中的weight属性实现界面元素的居中显示、等宽排列及按比例分配宽度等功能,帮助开发者提高UI设计效率。

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

关于安卓项目中xml的使用非常多,为了达到一些好的UI效果,需要对xml比较熟练,会使用很多的小技巧,本人准备对这些小技巧进行整理和总结,希望进行分享和交流。

关于weight的使用,由于weight在布局中主要按比例进行组件的摆放,因此比较容易解决适配的问题,所以学会使用weight会减轻开发过程中部分繁琐的开发任务。

1.使用weight居中显示

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:gravity="center"
    android:weightSum="1"
    >
    <Button
        android:id="@+id/button"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.5"
        android:text="Weight_Button" />
</LinearLayout>



2.使用weight实现相同宽度的n个组件(这里用3个做测试)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:weightSum="3"
    >


    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Weight_Button1" />
    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Weight_Button2" />
    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Weight_Button3" />


</LinearLayout>




3.使用weight实现不同比例宽度的n个组件(这里用4个做测试)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:weightSum="10"
    >


    <TextView
        android:layout_width="0dp"
        android:layout_height="30dp"
        android:layout_weight="4"
        android:background="@color/yellow"
        android:text="4" />
    <TextView
        android:layout_width="0dp"
        android:layout_height="30dp"
        android:layout_weight="3"
        android:background="@color/red"
        android:text="3" />
    <TextView
        android:layout_width="0dp"
        android:layout_height="30dp"
        android:layout_weight="2"
        android:background="@color/yellow"
        android:text="2" />
    <TextView
        android:layout_width="0dp"
        android:layout_height="30dp"
        android:layout_weight="1"
        android:background="@color/red"
        android:text="1" />


</LinearLayout>


占据比例分别为总宽度的0.4,0.3,0.2,0.1





评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值