Android 百分比布局(Percent Support Library)

做Xamarin开发已经好几个月了,害怕Android的知识被我不灵活的大脑忘掉,于是在空闲之余回去复习和看一些新的博客。但是拿出大块的时间去敲demo的机会不多了。

以前一直用笔记软件记录学习内容,从几个月前才决定坚持写写博客,但是也没有规定每个月写多少篇那种,还是像以前做笔记一样,学到了新东西或者解决了大BUG来记录一下。前几天公司给每个人买本书,我就选了顾浩鑫大牛的Android高级进阶这本书,关于Android进阶的书籍去年看了四五本了,选这本书的原因,还是看他的目录,发现了很多新的知识点,还有以前一直没有研究的点。

进入正题,看书的前三章,第一章:Android触摸事件传递机制。第二章:Android View 的绘制流程。第三章:Android动画机制。

前三章的内容社区里,论坛里,各种书籍里讲了太多,以前也整理了好多个版本的概念图和笔记。就不贴出来献丑了,还是需要在实际应用中来具体熟悉。

第四章:Support Annotation Library使用。

关于百分比布局,以前都是用LinearLayout布局实现,但是针对必须使用相对布局或者真布局的情况下,只能嵌套一些空白的View或者再套一层或多层线性布局来达到目的。

这就造成了布局文件复杂,和增加渲染的层次,最终导致性能下降。

2015年8月,谷歌推出了一个全新的百分比布局兼容函数库:Support Annotation Library。目前它支持相对布局和真布局的百分比布局。但是github有人开源了对线性布局的支持。

下面说说基本使用,以后用得多了再回来补充。

首先倒入依赖:

	compile 'com.android.support:percent:25.0.1'
编译完成后就可以直接使用了。下面说一下基本属性:

PercentRelativeLayout和PercentFrameLayout是继承于RelativeLayout和FrameLayout的,所以它们都可以使用父类的属性和方法。

但是比父类多了如下属性:

layout_widthPercent:用百分比表示宽度

layout_heightPercent:用百分比来表示高度

layout_marginPercent:用百分比来表示View之间的距离

layout_marginLeft/Top/Right/BottomPercent:用百分比表示上下左右的间隔

layout_marginStartPercent:用百分比表示距离第一个View之间的间隔

layout_marginEnfPercent:用百分比表示距离最后一个View之间的距离

layout_aspectRatio:用百分比来表示View的宽高比

下面贴一个最基本的使用:

<?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/topText"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:text="我试试百分比"
        android:background="@android:color/holo_blue_bright"
        android:layout_alignParentTop="true"
        android:gravity="center"
        android:textSize="16dp"
        app:layout_heightPercent="30%"
        app:layout_widthPercent="70%"/>


</android.support.percent.PercentRelativeLayout>

当我们在写XML的时候,Android Studio右侧直接查看效果是看不出来的,运行到手机上才能看到效果。

好了,这篇只是最简单的用法,还需要以后多用才能熟悉与总结出经验,总结过后会回来这篇博客补充内容。







  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值