谷歌的百分比库已废弃,转用约束布局,本博文仅供参考思路。新方法请参考:https://blog.csdn.net/qq_21480607/article/details/98790567

一、首先说一下Google官方提供的百分比布局兼容库:

https://developer.android.google.cn/reference/android/support/percent/package-summary?hl=en#interfaces
Android Percent Support Library,目前它支持RelativeLayout和FrameLayout的百分比布局。
使用前添加依赖,定义在support中

implementation 'com.android.support:percent:xx.x.x'

目前最新版本为:implementation ‘com.android.support:percent:28.0.0’
查看网址:https://developer.android.google.cn/topic/libraries/support-library/revisions.html?hl=en
关于compile、implementation与api的区别请查看:https://blog.csdn.net/qq_21480607/article/details/98477660
由于百分比布局不是内置在系统SDK当中,所以要把完整的包路径写出来。同时要定义一个app的命名空间,这样才能使用百分比布局的自定义属性。

xmlns:app:"http://schemas.android.com/apk/res-auto”

之后就可以使用app:layout_widthPercent和layout_heightPercent属性了。

主要有以下属性

  • app:layout_heightPercent:用百分比表示高度
  • app:layout_widthPercent:用百分比表示宽度
  • app:layout_marginPercent:用百分比表示View之间的间隔
  • app:layout_marginLeftPercent:用百分比表示左边间隔
  • app:layout_marginRight:用百分比表示右边间隔
  • app:layout_marginTopPercent:用百分比表示顶部间隔
  • app:layout_marginBottomPercent:用百分比表示底部间隔
  • app:layout_marginStartPercent:用百分比表示距离第一个View之间的距离
  • app:layout_marginEndPercent:用百分比表示距离最后一个View之间的距离
  • app:layout_aspectRatio:用百分比表示View的宽高比

相关案例:

<?xml version="1.0" encoding="utf-8"?>
<android.support.percent.PercentRelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"xmlns:app="http://schemas.android.com/apk/res-auto">
<TextViewandroid:layout_alignParentBottom="true"android:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="#87CEFA"app:layout_heightPercent="100%"app:layout_marginPercent="4%"app:layout_widthPercent="10%"android:text="100%"android:gravity="center"/><TextViewandroid:layout_alignParentBottom="true"android:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_toRightOf="@id/textView"android:background="#87CEFA"app:layout_heightPercent="80%"app:layout_marginPercent="4%"app:layout_widthPercent="10%"android:text="80%"android:gravity="center"/><TextViewandroid:layout_alignParentBottom="true"android:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_toRightOf="@id/textView1"android:background="#87CEFA"app:layout_heightPercent="60%"app:layout_marginPercent="4%"app:layout_widthPercent="10%"android:text="60%"android:gravity="center"/><TextViewandroid:layout_alignParentBottom="true"android:id="@+id/textView3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_toRightOf="@id/textView2"android:background="#87CEFA"app:layout_heightPercent="40%"app:layout_marginPercent="4%"app:layout_widthPercent="10%"android:text="40%"android:gravity="center"/><TextViewandroid:layout_alignParentBottom="true"android:id="@+id/textView4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_toRightOf="@id/textView3"android:background="#87CEFA"app:layout_heightPercent="20%"app:layout_marginPercent="4%"app:layout_widthPercent="10%"android:text="20%"android:gravity="center"/>
</android.support.percent.PercentRelativeLayout>

二、有大牛改写了官方库 添加了PercentLinearLayout

对于如何导入,也是相当的简单,android studio的用户,直接:

dependencies {//...compile 'com.zhy:percent-support-extends:1.0.1'
}

不需要导入官方的percent-support-lib了。

三个类分别为:

com.zhy.android.percent.support.PercentLinearLayout
com.zhy.android.percent.support.PercentRelativeLayout
com.zhy.android.percent.support.PercentFrameLayout

使用案例:

<?xml version="1.0" encoding="utf-8"?>
<com.zhy.android.percent.support.PercentLinearLayoutxmlns: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="wrap_content"android:orientation="vertical">
<com.zhy.android.percent.support.PercentFrameLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="#FF4082"><ImageViewandroid:layout_width="0dp"android:layout_height="0dp"android:src="@drawable/actbar_home_up_indicator"app:layout_heightPercent="6%"app:layout_widthPercent="15%"/><TextViewandroid:layout_alignParentTop="true"android:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@color/white"app:layout_marginTopPercent="1%"app:layout_marginBottomPercent="1%"app:layout_heightPercent="4%"app:layout_widthPercent="100%"android:autoSizeMaxTextSize="80dp"android:autoSizeMinTextSize="16dp"android:autoSizeTextType="uniform"android:text="我的好友"android:textSize="26dp"android:gravity="center"/><TextViewandroid:layout_alignParentTop="true"android:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@color/white"app:layout_marginTopPercent="2%"app:layout_marginBottomPercent="1%"app:layout_marginLeftPercent="80%"app:layout_heightPercent="3%"app:layout_widthPercent="100%"android:autoSizeMaxTextSize="80dp"android:autoSizeMinTextSize="16dp"android:autoSizeTextType="uniform"android:text="添加好友"android:textSize="26dp"/></com.zhy.android.percent.support.PercentFrameLayout>
</com.zhy.android.percent.support.PercentLinearLayout>

详细介绍请见博主博文:https://blog.csdn.net/lmj623565791/article/details/46767825

Android屏幕适配之百分比布局LinearLayout、RelativeLayout、FrameLayout相关推荐

  1. 屏幕适配和百分比布局

    导包  compile 'com.android.support:percent:23.3.0' 在res文件下创建文件     它会自动根据你安装的手机屏幕进行选择适配 文件的名字可以随便起 lay ...

  2. android屏幕适配流程,Android屏幕适配姿势

    GitHub地址 为什么要屏幕适配? device_framentation.png 统计 碎片化 品牌机型碎片化 屏幕尺寸碎片化 操作系统碎片化 为了保证用户获得一致的用户体验效果,使得某一元素在A ...

  3. Android 屏幕适配

    一.适配方式之dp 名词解释 分辨率:480*800,1280*720.表示物理屏幕区域内像素点的总和.(切记:跟屏幕适配没有任何关系) 因为我们既可以把1280*720 的分辨率做到4.0 的手机上 ...

  4. Android屏幕适配全攻略(最权威的官方适配指导)(转),共大家分享。

    Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因.重要概念.解决方案及最佳实践,我相信如果你能认真的学习 ...

  5. Android屏幕适配全攻略(最权威的官方适配指导) (转)

    招聘信息: Cocos2d-X 前端主程 [新浪微博]手机客户端iOS研发工程师 20k-40k iOS 开发工程师 iOS高级开发工程师(中国排名第一的企业级移动互联网云计算公司 和创科技 红圈营销 ...

  6. 【收藏】Android屏幕适配全攻略(最权威的Google官方适配指导)

    来源:http://blog.csdn.net/zhaokaiqiang1992 更多:Android AutoLayout全新的适配方式, 堪称适配终结者 Android的屏幕适配一直以来都在折磨着 ...

  7. Android 系统(186)---最易懂的Android屏幕适配解决方案--总结版

    最易懂的Android屏幕适配解决方案--总结版 本文参考自: Google的官方权威适配文档 郭霖:Android官方提供的支持不同屏幕大小的全部方法 Stormzhang:Android 屏幕适配 ...

  8. 2021年最详细的Android屏幕适配方案汇总

    1 Android屏幕适配的度量单位和相关概念 建议在阅读本文章之前,可以先阅读快乐李同学写的文章<Android屏幕适配的度量单位和相关概念>,这篇文章包含了阅读本文的一些基础知识,推荐 ...

  9. Android屏幕适配全方位解析与指导

    Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因.重要概念.解决方案及最佳实践,我相信如果你能认真的学习 ...

最新文章

  1. 可恶的爬虫直接把生产6台机器爬挂了!
  2. as3.0 删除子元件
  3. 转 .NET 2.0 SqlDependency快速上手指南
  4. Mybatis-plus之RowBounds实现分页查询
  5. X86汇编语言从实模式到保护模式06:从1加到100并显示结果
  6. 信息领域热词分析系统--python统计
  7. 用无线卡王蹭网的亲身经历和感想
  8. fshc模块fsch2mcu_if理解
  9. Android objdump/nm/readelf使用
  10. 如何实现降维处理(R语言)
  11. usb接口供电不足_分享电脑usb接口供电不足解决方法
  12. IDEA内无法进行复制粘贴
  13. uni-app项目(分类页)
  14. BMM 和 FMM 中文分词
  15. linux设备模型 —— sysfs
  16. 园区信息通信基础设施管理方案
  17. AlphaControls 控件 编辑皮肤 变更Glyphs控制符号
  18. 深圳大学算法实验一——排序算法性能分析
  19. LINUX之静态库共享库
  20. pip显示网络不可达错误解决

热门文章

  1. 自己实现一个Spring 框架
  2. c++ primer plus 6.11第四题 加入Benevolent Order of Programmer后,
  3. 一次重新的认识--第二次随笔
  4. 一个博士的深度调查:中国农村男青年“高价娶妻”研究
  5. linux我的世界乱码,我的世界附魔台文字翻译成普通文字 附魔台文字乱码解决办法...
  6. 算法导论--斐波那契堆
  7. spring-day02-IOC完成CRUD、注解开发IOC
  8. ant java /jre,关于java:Ant:找不到类:javac1.8
  9. Grammer -- 助动词
  10. Grammer - 被动语态