做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右侧直接查看效果是看不出来的,运行到手机上才能看到效果。
好了,这篇只是最简单的用法,还需要以后多用才能熟悉与总结出经验,总结过后会回来这篇博客补充内容。