1. 程式人生 > >百分比佈局PercentRelativeLayout

百分比佈局PercentRelativeLayout

1.新增依賴

compile 'com.android.support:percent:25.3.1'

2.直接上程式碼

<?xml version="1.0" encoding="utf-8"?>
<android.support.percent.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/top_left"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:background="#1131d3"
        android:text="藍色"
        android:textColor="#fff"
        android:gravity="center"
        app:layout_heightPercent="30%"
        app:layout_widthPercent="70%"
        />

    <TextView
        android:id="@+id/top_right"
        android:layout_height="0dp"
        android:layout_width="0dp"
        android:layout_toRightOf="@+id/top_left"
        android:background="#a72525"
        android:text="紅色"
        android:textColor="#fff"
        android:gravity="center"
        app:layout_heightPercent="30%"
        app:layout_widthPercent="30%"
        />

    <TextView
        android:id="@+id/bottom"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_below="@+id/top_left"
        android:background="#3ed116"
        android:text="綠色"
        android:textColor="#fff"
        android:gravity="center"
        app:layout_widthPercent="50%"
        app:layout_heightPercent="70%"
        />
    <!--
    引入: xmlns:app="http://schemas.android.com/apk/res-auto"
    儘管在layout_width中設定了match_parent,但是還是以app中widthpercent=50%為主要的
    除非沒有widthpercent屬性,才會以layout_width為主
    -->
    <!--
    android:layout_width和height可以不寫
    -->

    <TextView
        android:id="@+id/right_botton"
        android:layout_width="100dp"
        android:layout_height="0dp"
        android:layout_below="@+id/top_right"
        android:layout_toRightOf="@+id/bottom"
        android:background="#e1895e"
        app:layout_aspectRatio="50%"
/> <!-- app:layout_aspectRatio="50%" 用來指定寬:高的比例,如上面寬等於100dp,所以求出高等於200dp --> <!-- 但是上述屬性不能和下面的一起使用,會失效。下面兩條屬性占主導地位: app:layout_widthPercent="50%" app:layout_heightPercent="50%" --> </android.support.percent.PercentRelativeLayout>

3.效果