使用support库实现百分比布局,我们只需要在build.gradle中添加百分比布局库的依赖即可。
具体如下:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7'
//此行为百分比布局依赖库
compile 'com.android.support:percent:25.3.1'
testCompile 'junit:junit:4.12'
}
support库的相关介绍见下链接:
http://www.jianshu.com/p/f5f9a4fd22e8
Gradle编译脚本中整个v4库的依赖语句如下:
compile 'com.android.support:support-v4:24.2.1'
gradle中jar依赖语句格式如 :
compile ‘jar文件组(group/命名空间):jar文件名(name):jar文件版本(version)’。
所以上面的语句意思是依赖Android支持库中第24.2.1版的support-v4库。由于在24.2.0版本support-v4库已经被拆分成5个子库,所以如下图所示依赖24.2.1版本的support-v4库除了导入support-v4库外还会导入它的5个子库,这个版本的support-v4库本身是一个空的包,所有具体的实现都在它依赖的子库中。
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.david.firstcode_ui.percent">
<Button
android:id="@+id/button1"
android:layout_gravity="left|top"
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
android:text="button1"
/>
<Button
android:id="@+id/button5"
android:layout_gravity="left|top"
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
android:text="button1"
/>
<Button
android:id="@+id/button2"
android:layout_gravity="right|bottom"
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
android:text="button1"
/>
<Button
android:id="@+id/button3"
android:layout_gravity="right|top"
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
android:text="button1"
/>
<Button
android:id="@+id/button4"
android:layout_gravity="left|bottom"
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
android:text="button1"
/>
</android.support.percent.PercentFrameLayout>
最外层使用
<android.support.percent.PercentFrameLayout>
在使用百分比自定义属性时,需要加上命名空间app。
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"