更新:正如我们所知,API 级别 26 已弃用百分比支持库。ConstraintLayout
这是实现相同平面 xml 结构的新方法。
更新了 Github 项目
更新示例:
<android.support.constraint.ConstraintLayout
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/fifty_thirty"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="#ffff8800"
android:gravity="center"
android:text="@string/fifty_fifty_text"
android:textColor="@android:color/white"
app:layout_constraintHeight_default="percent"
app:layout_constraintHeight_percent="0.5"
android:textSize="25sp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_default="percent"
app:layout_constraintWidth_percent="0.5" />
<TextView
android:layout_width="0dp"
android:layout_height="0dp"
android:background="#ffff5566"
android:gravity="center"
android:text="@string/fifty_fifty_text"
android:textColor="@android:color/white"
android:textSize="25sp"
app:layout_constraintHeight_default="percent"
app:layout_constraintHeight_percent="0.5"
app:layout_constraintLeft_toRightOf="@id/fifty_thirty"
app:layout_constraintTop_toBottomOf="@id/fifty_thirty"
app:layout_constraintWidth_default="percent"
app:layout_constraintWidth_percent="0.5" />
</android.support.constraint.ConstraintLayout>
已弃用
任何人都需要一个简单的演示来使用百分比支持库。
代码和概念在这里。
<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/fifty_huntv"
android:background="#ffff8800"
android:text="50% - 50%"
android:textColor="@android:color/white"
style="@style/STYLE_PERCENT_TV"
app:layout_heightPercent="50%"
app:layout_widthPercent="50%" />
<TextView
android:id="@+id/comp2_twenty_fifty_tv"
android:layout_toRightOf="@id/fifty_huntv"
android:background="#ffff5566"
android:text="20%-50%"
style="@style/STYLE_PERCENT_TV"
app:layout_heightPercent="20%"
app:layout_widthPercent="50%"
/>
<TextView
android:id="@+id/comp2_ten_fifty_tv"
android:layout_below="@id/comp2_twenty_fifty_tv"
android:layout_toRightOf="@id/fifty_huntv"
android:background="#aa3628cc"
android:text="30%-50%"
style="@style/STYLE_PERCENT_TV"
app:layout_heightPercent="30%"
app:layout_widthPercent="50%"
/>
<TextView
android:id="@+id/century_50_tv"
android:layout_below="@id/fifty_huntv"
android:background="#aacacc46"
android:text="50%-100%"
style="@style/STYLE_PERCENT_TV"
app:layout_heightPercent="50%"
app:layout_widthPercent="100%"
/>
</android.support.percent.PercentRelativeLayout>
WithIn styles.xml
<style name="STYLE_PERCENT_TV">
<item name="android:height">0dp</item>
<item name="android:width">0dp</item>
<item name="android:gravity">center</item>
<item name="android:textColor">@android:color/white</item>
<item name="android:textSize">25sp</item>
</style>
Github 项目在这里