前言
由于Android系统的碎片化发展导致了市面上多种分辨率、多种屏幕密度共存,这对我们的屏幕适配增加了不少的难度。针对这种情况google为我们提供了一个百分比布局兼容库:Android Percent Support Library,解决了上述的问题,目前它支持RelativeLayout和FrameLayout的百分比布局。(结合大佬们的博客总结的,如有侵权,麻烦联系我删除此文章)
属性
常用的属性
属性 | 说明 |
---|---|
app:layout_heightPercent | 用百分比表示高度 |
app:layout_widthPercent | 用百分比表示宽度 |
app:layout_marginPercent | 用百分比表示View之间的间隔 |
app:layout_marginLeftPercent | 用百分比表示左边间隔 |
app:layout_marginRight | 用百分比表示右边间隔 |
app:layout_marginTopPercent | 用百分比表示顶部间隔 |
app:layout_marginBottomPercent | 用百分比表示底部间隔 |
app:layout_marginStartPercent | 用百分比表示距离第一个View之间的距离 |
app:layout_marginEndPercent | 用百分比表示距离最后一个View之间的距离 |
app:layout_aspectRatio | 用百分比表示View的宽高比 |
举例
1、 添加依赖
implementation 'com.android.support:percent:28.0.0'
2、以PercentRelativeLayout为例
<?xml version="1.0" encoding="utf-8"?>
<androidx.percentlayout.widget.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_heightPercent="30%"
app:layout_widthPercent="70%"
android:orientation="vertical"
android:id="@+id/one"
android:background="@drawable/text_show"
>
<TextView
android:layout_width="match_parent"
android:text="test1"
android:background="@drawable/text_show"
android:gravity="center"
android:layout_height="50dp" />
<TextView
android:layout_width="match_parent"
android:text="test2"
android:background="@drawable/text_show"
android:gravity="center"
android:layout_height="50dp" />
<TextView
android:layout_width="match_parent"
android:text="test3"
android:background="@drawable/text_show"
android:gravity="center"
android:layout_height="50dp" />
</LinearLayout>
<TextView
android:layout_width="0dp"
android:layout_toRightOf="@id/one"
android:layout_height="0dp"
app:layout_heightPercent="30%"
app:layout_widthPercent="30%"
android:gravity="center"
android:background="@drawable/text_show"
android:text="test4"
/>
<TextView
android:layout_width="0dp"
android:layout_below="@id/one"
android:layout_height="0dp"
app:layout_heightPercent="70%"
app:layout_widthPercent="100%"
android:gravity="center"
android:text="test5"
android:background="@drawable/text_show"
/>
</androidx.percentlayout.widget.PercentRelativeLayout>
示意图:
percent.PNG附加
无
网友评论