日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PercentFrameLayout(百分比布局)的基本使用

發(fā)布時間:2025/4/5 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PercentFrameLayout(百分比布局)的基本使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前面的3中布局,LinearLayout、RelativeLayout、FrameLayout都是從Android1.0中就開始支持了,一直沿用到現(xiàn)在,可以說是滿足了絕大多數(shù)場景的界面設(shè)計需求。不過細心的你會發(fā)現(xiàn),只有LinearLayout支持使用android:layout_weight屬性來實現(xiàn)按比例指定控件大小的功能,其他兩種布局都不支持比如說,如果想用RelativeLayout來實現(xiàn)兩個按鈕平分布局寬度的效果,則是比較困難的。

為此,Android引入了一種全新的布局方式來解決此問題-----百分比布局。在這種布局中,我們不再使用wrap_content、match_parent等方式來指定控件的大小,而是允許直接指定控件在布局中所占的百分比,這樣的話就可以輕松實現(xiàn)平分布局甚至是任意比例分割布局效果了。

由于LinearLayout本身已經(jīng)支持按比例指定控件的大小了,因此百分比布局屬于新增布局,那么怎么才能做到讓新增布局在所有Android版本上都能使用呢?為此,Android團隊將百分比布局定義在了suppor庫當(dāng)中,我們只需要在項目的build.gradle中添加百分比布局庫的依賴,就能保證百分比布局在Android所有系統(tǒng)版本上的兼容性了。

打開app/build.gradle文件,在dependencies閉包中添加以下內(nèi)容:

implementation'com.android.support:percent:28.0.0'

點擊右上方的Sync Now,然后gradle會開始進行同步,把我們新添加的百分比布局庫引入到項目當(dāng)中。

接下來修改activity_main.xml中的代碼:

<?xml version="1.0" encoding="utf-8"?> <android.support.percent.PercentFrameLayout 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"><Buttonandroid:id="@+id/btn1"android:layout_gravity="left|top"android:text="btn1"android:textAllCaps="false"app:layout_heightPercent="50%"app:layout_widthPercent="50%" /><Buttonandroid:id="@+id/btn2"android:layout_gravity="right|top"android:text="btn2"android:textAllCaps="false"app:layout_heightPercent="50%"app:layout_widthPercent="50%" /><Buttonandroid:id="@+id/btn3"android:layout_gravity="left|bottom"android:text="btn3"android:textAllCaps="false"app:layout_heightPercent="50%"app:layout_widthPercent="50%" /><Buttonandroid:id="@+id/btn4"android:layout_gravity="right|bottom"android:text="btn4"android:textAllCaps="false"app:layout_heightPercent="50%"app:layout_widthPercent="50%" /></android.support.percent.PercentFrameLayout>

效果圖:

最外層我們使用了PercentFrameLayout,由于百分比布局并不是內(nèi)置在系統(tǒng)SDK當(dāng)中的,所以需要把完整的包路徑寫出來。然后還必須定義一個app的命名空間,這樣才能使用百分比布局的自定義屬性。

在PercentFrameLayout中我們定義了4個按鈕,

使用app:layout_widthPercent屬性將各個按鈕的寬度指定為布局的50%,

使用app:layout_heightPercent屬性將各個按鈕的高度指定為布局的50%。

這里之所以可以使用app前綴的屬性就是因為剛才定義了app的命名空間,當(dāng)然我們一直能使用android前綴的屬性也是同樣的道理。

不過PercentFrameLayout還是會繼承FrameLayout的特性,即所有的控件默認都是擺放在布局的左上角。那么,為了讓這4個按鈕不會重疊,這里還是借助了layout_gravity屬性來分別將4個按鈕放置在布局的左上,右上,左下,右下4個位置。

?

?

總結(jié)

以上是生活随笔為你收集整理的PercentFrameLayout(百分比布局)的基本使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。