layout_weight 小白的理解之我的地盘听我的!(二)

前端之家收集整理的这篇文章主要介绍了layout_weight 小白的理解之我的地盘听我的!(二)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

上篇文章比较详细的写了写layout_weght的原理,怎么让他听从咱们的指挥,说让他占几分地,他就得占几分地(好像咱是地主一样哈,嘿嘿)。

解决方法就是0px,官方不是也推荐这么写吗,哈哈,不过咱们还得封装一下,看下自己的style(style_layout.xml),写在values目录下就ok啦

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <!-- 全屏幕拉伸 -->
    <style name="layout_full">
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">fill_parent</item>
    </style>

    <!-- 固定自身大小 -->
    <style name="layout_wrap">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
    </style>

    <!-- 横向分布 -->
    <style name="layout_horizontal" parent="layout_full">
        <item name="android:layout_width">0px</item>
    </style>

    <!-- 纵向分布 -->
    <style name="layout_vertical" parent="layout_full">
        <item name="android:layout_height">0px</item>
    </style>

</resources>
使用的方法就是如果在横向的布局下使用layout_horizontal,纵向的使用layout_vertical,看例子:
<?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="vertical" >

    <LinearLayout
        style="@style/layout_vertical"
        android:layout_weight="3"
        android:orientation="horizontal" >

        <TextView
            style="@style/layout_horizontal"
            android:layout_weight="1"
            android:background="#123456"
            android:gravity="center"
            android:text="weight = 1"
            android:textColor="#ffffff" />

        <TextView
            style="@style/layout_horizontal"
            android:layout_weight="2"
            android:background="#234567"
            android:gravity="center"
            android:text="weight = 2"
            android:textColor="#ffffff" />

        <TextView
            style="@style/layout_horizontal"
            android:layout_weight="3"
            android:background="#345678"
            android:gravity="center"
            android:text="weight = 3"
            android:textColor="#ffffff" />
    </LinearLayout>

    <TextView
        style="@style/layout_vertical"
        android:layout_weight="2"
        android:background="#456789"
        android:gravity="center"
        android:text="weight = 2"
        android:textColor="#ffffff" />

    <TextView
        style="@style/layout_vertical"
        android:layout_weight="1"
        android:background="#567890"
        android:gravity="center"
        android:text="weight = 1"
        android:textColor="#ffffff" />

</LinearLayout>
效果如下:


是不是我让他占几分地就得占几分地啊,并且这个做起适配来也比较轻松,不过只能适配那些比较粗略的布局,要是要求比较高的话这个会不怎么实用。

好啦,代码0分下载:

点击打开链接

猜你在找的XML相关文章