您的位置:首页 > 其它

根据手机屏幕分辨率设置组件或控件的大小,利用像素更好的适配不同尺寸的机型的动态布局

2017-02-06 13:13 1066 查看
1》现在公司有个悬浮移动的按钮,就像ios那个悬浮的按钮样式,按钮上面要显示一个text文本,这就涉及到几个问题

        1.按钮本身对于不同手机的按钮的大小问题

2.按钮和text文本的位置的问题

3.按钮和文本对应的父类布局的位置问题

先看图:


2》接下来看代码,代码有注释,很详细

//这是获取手机分辨率的宽高获取像素点
int allwidth = SysApp.getApp().screenWidth - DensityUtil.dip2px(85);
//最外层父类布局的大小
RelativeLayout.LayoutParams params2 = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT, allwidth /5);
freeRadioGroup.setLayoutParams(params2);
//圆形图片对应父类布局的位置
ViewGroup.MarginLayoutParams marginLayoutParams2 = new ViewGroup.MarginLayoutParams(floatButton.getLayoutParams());
marginLayoutParams2.setMargins(0,((allwidth / 5)-(allwidth /6)),0,0);
//圆形图片的大小宽高设置
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(marginLayoutParams2);
params.height=(allwidth / 6);
params.width =(allwidth
4000
/ 6);
floatButton.setLayoutParams(params);
//圆形提示数字的大小位置的设置
ViewGroup.MarginLayoutParams marginLayoutParams= new ViewGroup.MarginLayoutParams(badgeTextView.getLayoutParams());
marginLayoutParams.setMargins((allwidth/6)-(allwidth/20),0,0,0);
//大小
int size = DensityUtil.dip2px(25);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(marginLayoutParams);
//设置宽高
layoutParams.height=size;
layoutParams.width = size;
badgeTextView.setLayoutParams(layoutParams);


3》注意:你的父类的布局类型,是linearlayout 还是 relativelayout ,,,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐