PercentFrameLayout(百分比布局)的基本使用

Android 增强版百分比布局库 为了适配而扩展 在这里小编整理了一份Android大厂常见面试题,和一些Android架构视频解析,都已整理成文档,全部都已打包好了,希望能够对大家有所帮助,在面试中能顺利通过。喜欢本文的话,不妨顺手给我点个小赞、评论区留言或者转发支持一下呗《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取![外链图片转存中…(img-x4FBzTm8-1712153988809)] 阅读详情

前面的3中布局,LinearLayout、RelativeLayout、FrameLayout都是从Android1.0中就开始支持了,一直沿用到现在,可以说是满足了绝大多数场景的界面设计需求。不过细心的你会发现,只有LinearLayout支持使用android:layout_weight属性来实现按比例指定控件大小的功能,其他两种布局都不支持比如说,如果想用RelativeLayout来实现两个按钮平分布局宽度的效果,则是比较困难的。

为此,Android引入了一种全新的布局方式来解决此问题-----百分比布局。在这种布局中,我们不再使用wrap_content、match_parent等方式来指定控件的大小,而是允许直接指定控件在布局中所占的百分比,这样的话就可以轻松实现平分布局甚至是任意比例分割布局效果了。

由于LinearLayout本身已经支持按比例指定控件的大小了,因此百分比布局属于新增布局,那么怎么才能做到让新增布局在所有Android版本上都能使用呢?为此,Android团队将百分比布局定义在了suppor库当中,我们只需要在项目的build.gradle中添加百分比布局库的依赖,就能保证百分比布局在Android所有系统版本上的兼容性了。

打开app/build.gradle文件,在dependencies闭包中添加以下内容:

implementation'com.android.support:percent:28.0.0'

点击右上方的Sync Now,然后gradle会开始进行同步,把我们新添加的百分比布局库引入到项目当中。

接下来修改activity_main.xml中的代码:

<?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"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:id="@+id/btn1"
        android:layout_gravity="left|top"
        android:text="btn1"
        android:textAllCaps="false"
        app:layout_heightPercent="50%"
        app:layout_widthPercent="50%" />

    <Button
        android:id="@+id/btn2"
        android:layout_gravity="right|top"
        android:text="btn2"
        android:textAllCaps="false"
        app:layout_heightPercent="50%"
        app:layout_widthPercent="50%" />

    <Button
        android:id="@+id/btn3"
        android:layout_gravity="left|bottom"
        android:text="btn3"
        android:textAllCaps="false"
        app:layout_heightPercent="50%"
        app:layout_widthPercent="50%" />

    <Button
        android:id="@+id/btn4"
        android:layout_gravity="right|bottom"
        android:text="btn4"
        android:textAllCaps="false"
        app:layout_heightPercent="50%"
        app:layout_widthPercent="50%" />


</android.support.percent.PercentFrameLayout>

效果图:

最外层我们使用了PercentFrameLayout,由于百分比布局并不是内置在系统SDK当中的,所以需要把完整的包路径写出来。然后还必须定义一个app的命名空间,这样才能使用百分比布局的自定义属性。

在PercentFrameLayout中我们定义了4个按钮,

使用app:layout_widthPercent属性将各个按钮的宽度指定为布局的50%,

使用app:layout_heightPercent属性将各个按钮的高度指定为布局的50%。

这里之所以可以使用app前缀的属性就是因为刚才定义了app的命名空间,当然我们一直能使用android前缀的属性也是同样的道理。

不过PercentFrameLayout还是会继承FrameLayout的特性,即所有的控件默认都是摆放在布局的左上角。那么,为了让这4个按钮不会重叠,这里还是借助了layout_gravity属性来分别将4个按钮放置在布局的左上,右上,左下,右下4个位置。

 

 

Android百分比布局实战案例源码解析 本文还有配套的精品资源,点击获取 简介:百分比布局是Android开发中用于响应式界面设计的工具,通过支持库中的PercentFrameLayout和PercentRelativeLayout类,开发者可以确保UI元素在不同屏幕尺寸上保持一致比例。本文提供了深入学习百分比布局的案例源码,包括支持库与示例工程,强调其在多分辨率适应性、自适应设计和动态布局中的重要性,并为And... 阅读详情

相关推荐

CSP-J/S复赛文件组织与freopen读写全攻略,避免爆零

在信息学竞赛的上机考试中,代码能力固然重要,但文件组织与输入输出重定向往往是决定成败的关键细节。许多选手习惯在线评测环境,对本地文件命名、目录层级和读写方式缺乏系统认知,导致算法正确却因文件名拼写错误或freopen使用不当而遗憾失分。理解评测系统的工作原理,掌握从建立准考证号目录到规范命名源文件,再到使用freopen进行文件流重定向的标准流程,是每位参赛者的必备技能。这种工程化习惯不仅适用于CSP-J/S复赛,也是未来参加NOI等更高水平竞赛的基础。本文从文件组织的底层逻辑出发,结合实战案例,系统讲解考

weixin_32466193的博客 592

基本布局之 - PercentFrameLayout/PercentRelativeLayout

基本布局之 - PercentFrameLayout/PercentRelativeLayout 1.1 PercentFrameLayout 1.2 PercentRelativeLayout 基本布局之 - PercentFrameLayout/PercentRelativeLayout 百分比布局 1.1 PercentFrameLayout 前面介绍的3中布局都...

amoscxy的博客 951

SillyTavern角色卡制作全攻略:如何用AI还原你喜欢的虚构角色(附三叶完整角色卡JSON)

本文详细介绍了如何使用SillyTavern制作高质量AI角色卡,以《你的名字》中的宫水三叶为例,从角色特征提取、对话风格捕捉到JSON结构优化,全面解析AI角色扮演的创作技巧。通过具体的写作示例和完整角色卡JSON,帮助二次元爱好者和同人创作者实现虚构角色的精准还原与生动互动。

pandas7gardener的博客 2125

Android之PercentFrameLayout(百分比布局)

一、在app/build.gradle的dependencies添加依赖库 implementation 'androidx.percentlayout:percentlayout:1.0.0' 之后需要点击Sync Now,gradle会开始同步,把新添加的百分比布局库引入到项目中 二、activity_main.xml:进行布局 <?xml version="1.0" enc...

qq_39438055的博客 2050

Unity坦克物理系统:履带驱动与力场建模实战指南

在游戏物理仿真中,履带车辆的运动建模远超传统轮式控制器的范畴。其核心在于摒弃WheelCollider的滚动幻觉,转向基于牛顿力学的力与力矩协同求解——通过主推进力场、转向力矩场和地面反作用力场三重叠加,实现对质量、摩擦、惯性及坡度阻力的真实响应。这种建模方式不仅支撑坦克爬坡、陷泥、侧倾等复杂行为,更保障了多人同步与高帧率下的物理稳定性。Physics Tank Maker 正是这一思路的工业级落地,它将PhysX底层机制与坦克动力学深度耦合,提供可调参数、事件驱动视觉反馈及标准扩展接口,成为面向严肃模拟类

weixin_29535577的博客 562

基于深度学习的推荐系统设计与实现

基于深度学习的推荐系统设计与实现 作者:禅与计算机程序设计艺术 / Zen and the Art of Computer Programming / TextGenWebUILLM 基于深度学习的推荐系统设计与实现 关键词:深度学习, 推荐系统, 用

AI天才研究院 1078

android 百分比适配

感谢大神的分享 https://github.com/JulienGenoud/android-percent-support-lib-sample android studio中添加: dependencies { compile 'com.android.support:percent:22.2.0' } PercentRelativeLayout an

王涛 1540

OGRE 3D----2. QGRE + QQuickView

将 OGRE(面向对象图形渲染引擎)集成到使用 QQuickView 的 Qt Quick 应用程序中,可以在现代灵活的 UI 框架中提供强大的 3D 渲染功能。本文将指导您如何在 QQuickView 环境中设置 OGRE。

charce_you的专栏 913

Android百分比布局:PercentFrameLayout

 Android百分比布局:PercentFrameLayout 在之前一篇文章我写了Android的百分比占布局:PercentRelativeLayout。(《Android百分比布局:PercentRelativeLayout》文章链接地址:http://blog.youkuaiyun.com/zhangphil/article/details/49532493 ) Android新增的百分比

Zhang Phil 5203

手把手教你玩转RISC-V指令集​​​专栏--​​1.2 对比x86/ARM:RISC-V的三大核心优势(开放、灵活、可扩展)​

​:RISC-V以“开放打破垄断、灵活适配场景、扩展定义未来”的三大优势,正在重塑计算架构格局。其核心价值不仅是技术革新,更是对全球半导体产业链话语权的重新分配。

amy_mhd的博客 130

刚体转动欧拉方程:从理论到卫星姿态控制的实践

刚体转动欧拉方程是描述刚体旋转运动的基本动力学方程,在卫星姿态控制、机器人学、航空航天等领域有着广泛应用。本文将详细讲解欧拉方程的物理概念、数学推导、数值计算方法,并重点分析其在卫星姿态控制系统中的具体应用。

ScilogyHunter的博客 642

android为什么不用百分比,Android百分比布局:PercentFrameLayout

Android百分比布局:PercentFrameLayout在之前一篇文章我写了Android的百分比占布局:PercentRelativeLayout。(《Android百分比布局:PercentRelativeLayout》文章链接地址:http://blog.youkuaiyun.com/zhangphil/article/details/49532493 )Android新增的百分比占布局有两个...

weixin_42531128的博客 418

7、CUDA 软件架构与开发工具详解

本文深入探讨了CUDA的软件架构与核心开发工具,涵盖CUDA数组与纹理、表面引用、图形互操作性机制,以及CUDA运行时与驱动程序API的功能对比。详细解析了nvcc编译器的使用方法、编译轨迹与代码生成选项,并结合实际示例说明其应用。文章旨在帮助开发者理解不同技术的选择依据,合理利用CUDA工具链,提升GPU计算性能,适用于从入门到进阶的CUDA开发人员参考。

nnn11的博客 98

Android学习时遇到的问题之三:百分比布局PercentFrameLayout和PercentRelativeLayout废弃

我在学习《第一行代码 Android》时,书中介绍的百分比布局PercentFrameLayout和PercentRelativeLayout已经废弃,被androidx.percentlayout:percentlayout:1.0.0替代。 开发环境: macOS 10.16 Android Studio 4.0.1 书中代码如下: 修正代码: // app\build.gradle dependencies { implementation fileTree(dir: "libs", inc

muy1030725645的博客 2377

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

android 百分比布局percentFrameLayout,percentRelativeLayout的使用

这种布局方式是google新添加的一种布局,需要引入安卓的support兼容包,这个包大家都很清楚,一般android的新特效新功能都会在support包中。 我们知道。在安卓的布局中,只有LinearLayout才支持设置权重weight来按比例划分控件的大小,其他布局都不支持这种方式,这就显得,有时候我们一些复杂点的布局搞起来就有点繁琐。 为此,android引入了一种全新

cconon.com 983

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

android studio中的(PercentFrameLayout)百分比布局

在《第一行代码》中,原先按照书中内容配置,无法正常运行,记录一下解决过程。 书中步骤如下: 在/app/build.gradle中添加依赖 compile 'com.android.support:percent:24.2.1' 在添加上述依赖后会有警告使用androidx,先忽略它 之后在activity_main.xml中进行布局 <android.support.perce...

weixin_44520881的博客 2573

安卓第一行代码之百分比布局PercentFrameLayout/PercentRelativeLayout

在compile中引入:compile 'com.android.support.percent:24.2.1'使用百分比布局:&lt;android.support.percent.PercentFrameLayoutxmlns:app="http://schemas.android.com/apk/res-apk"&gt;&lt;Button···app:layout_...

『程序员·小李』的博客 1495

百分比布局(PercentFrameLayout和PercentRelativeLayout)

1.使用百分比布局首先需要在build.gradle中添加依赖库 dependencies { …… compile 'com.android.support:percent:26.+' } 2.布局文件(在这用的是PercentRelativeLayout百分比的相对布局) <android.support.percent.PercentRelativeLayout

juer2017的博客 838

233.百分比布局(PercentFrameLayout和PercentRelativeLayout)

1.使用百分比布局首先需要在build.gradle中添加依赖库 dependencies { …… compile 'com.android.support:percent:26.+' } 2.布局文件(在这用的是PercentRelativeLayout百分比的相对布局) ...

augfun的博客 578

百分比布局的使用

今天有时间捣鼓了一下这个东西,和大家分享一下。官方提供的包里,关于百分比布局有两个,如下:就是PercentFrameLayout和PercentRelativeLayout,我们今天就来说说这两个百分比布局的使用吧。1.添加依赖库本文Demo使用Android Studio来完成,所以直接在Gradle文件中添加下面一行即可。compile 'com.android.support:percen

江南一点雨的专栏 7615

Android百分比布局导入依赖和简单实现

依赖导入参考:《第一行代码》添加百分比布局库依赖问题 - skye_you - 博客园 (cnblogs.com) 实现: <?xml version="1.0" encoding="utf-8"?> <androidx.percentlayout.widget.PercentFrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.

chirchillhe的博客 567

Android 百分比布局库(percent-support-lib) 解析与扩展

Google终于开始支持百分比的方式布局了,瞬间脉动回来,啊咧咧。对于这种历史性的时刻,不出篇博客难以表达我内心的激动。,本文分为3个部分: PercentRelativeLayout、PercentFrameLayout的使用、对上述控件源码分析、自定义PercentLinearLayout。

Hongyang 18万+
上一篇: FrameLayout(帧布局)的基本使用
下一篇: ListView控件的基本使用(方式一:使用ArrayAdapter适配器实现)
Android_牧
博客等级 码龄9年 88粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值