完美适配之安卓百分比布局使用,治好广大安卓程序员的头疼病

基于鸿洋大神写的4个percentlayout.java。
首先看一下效果图:

假如有这样一张设计图:
这里写图片描述

如果UI告诉你他的设计基于720*1280像素的屏幕,OK,直接计算百分比然后在xml里面按照下面的代码设置控件宽高。

例如中间的title”个人计分“宽=160px,高=40px
40/1280=0.03125,
160/720=0.22222.

则XML里面对这个TextView的宽高为:
(偷偷告诉大家,支持浮点型哦)

  app:layout_heightPercent="3.125%w"
  app:layout_widthPercent="22.222%w"
  <!--当然也可以设置margin
  app:layout_marginPercent="5%w"-->

或者说,我想保证我的控件是正方形,则直接只参考宽或者参考高就行了。即:

<!--保证了正方形-->
 app:layout_heightPercent="15%w"
 app:layout_widthPercent="15%w"

目前支持:LinearLayout RelativeLayout FrameLayout 三大父布局,并且支持Scroll竖向滑动,但是却不支持HorizontalScroll 横向滑动(这是唯一遗憾的地方了)但是这并不意味着我们没有解决方案了。
LOOK:

此时,在HorizontalScrollView内部无法使用百分比布局,BUT,我们可以在java代码中动态设置HorizontalScrollView里面控件的大小,根据获取到的屏幕像素的大小和控件的大小设置百分比,同样可以达到百分比布局的效果。,见下面代码:

 DisplayMetrics displayMetrics = new DisplayMetrics();
 getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
	      int displayWidth = displayMetrics.widthPixels;
	      int displayHeight = displayMetrics.heightPixels;
 LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
 	            (int)(displayWidth*0.5), 
 	            (int)(displayHeight*0.5));
           buttons.setLayoutParams(layoutParams);

到这儿我们就完全可以实现所有控件的百分比布局,是不是很棒呢~~
下面这个jar解压出来,将4个java文件拷贝进你的项目任何包里面,将attrs.xml拷贝进values里面OK。
下载地址: http://download.csdn.net/detail/u012534831/9532492


QQ:1003077897
blog:http://blog.csdn.net/u012534831
github:https://github.com/qht1003077897

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

q2nAmor

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值