Percent库的设计目标是支持基于百分比的View大小设置。
目前,Percent库仅支持在定制的ViewGroup中设置子View的大小为ViewGroup大小的一个百分比。 此外,子View的宽高也可以设定为一个比例关系。
1. 引入Percent库
直接修改build.gradle配置文件,添加该库的引用。例如:
也可以通过Android Studio的Project Structure (File → Project Structure,Dependencies)添加引用。
2. Percent库介绍
2.1. 示例代码及效果
先看一段示例代码:
运行截图如下:
2.2. PercentFrameLayout 和 PercentRelativeLayout
分别基于FrameLayout和RelativeLayout的Percent版本,支持子View设置width、height 和margin的百分比大小,也支持子View的长宽比设置。
如果设置了width和height的百分比大小,还可以设置“android:layout_width”和 “android:layout_height”的属性值为“wrap_content”。 此时,如果按百分比大小计算出来的子View大小不能够容纳子View的内容, 那么此时子View会放弃百分比大小,而采用“wrap_content”大小。
2.3. PercentLayoutHelper
如果需要在自己的ViewGroup中也支持基于百分比的大小设置, 那么可以借助PercentLayoutHelper来实现。
具体用法,请参考PercentLayoutHelper文档, 或者参考PercentFrameLayout和PercentRelativeLayout的实现代码。
3. 参考资料
官方文档:
-
http://developer.android.com/tools/support-library/features.html#percent
-
http://developer.android.com/reference/android/support/percent/package-summary.html
Support库源码阅读和编译:
-
https://github.com/ycdev-aosp/frameworks-support (source-build分支)
示例代码:
来源:https://blog.csdn.net/qq_31180471/article/details/100997593