Android:AbsoluteLayout?

Android:AbsoluteLayout?,第1张

概述我是 Android新手.我喜欢在任何我想要的地方拥有自由范围的绘图对象.所以我一直在使用Absolute Layout.我收到一条消息,说要使用不同的布局.而且我已经读到这是因为不同手机的不同分辨率.我的问题是,这是不使用绝对布局的唯一原因吗?我制作了一个使用指标来调整像素的方法. public int widthRatio(double ratioIn){ DisplayMetrics 我是 Android新手.我喜欢在任何我想要的地方拥有自由范围的绘图对象.所以我一直在使用absolute Layout.我收到一条消息,说要使用不同的布局.而且我已经读到这是因为不同手机的不同分辨率.我的问题是,这是不使用绝对布局的唯一原因吗?我制作了一个使用指标来调整像素的方法.
public int wIDthRatio(double ratioIn){    displayMetrics dm = new displayMetrics(); //gets screen propertIEs    getwindowManager().getDefaultdisplay().getMetrics(dm);    double screenWIDth = dm.wIDthPixels;      //gets screen height    double ratio = screenWIDth/100;           //gets the ratio in terms of %    int displayWIDth = (int)(ratio*ratioIn);  //multiplIEs ratio desired % of screen     return displayWIDth;}//method to get height or Ypos that is a one size fits allpublic int heightRatio(double ratioIn){    displayMetrics dm = new displayMetrics(); //gets screen propertIEs    getwindowManager().getDefaultdisplay().getMetrics(dm);    double screenHeight = dm.heightPixels;    //gets screen height    double ratio = screenHeight/100;          //gets the ratio in terms of %    int newHeight = (int)(ratio*ratioIn);     //multiplIEs ratio by desired % of screen    return newHeight;}//sets size of any vIEw (button,text,...) to a one size fits all screenspublic voID setSizeByRatio(VIEw object,int wIDth,int height){    LayoutParams params = object.getLayoutParams();    params.wIDth = wIDthRatio(wIDth);    params.height = heightRatio(height);}

所以如果我说setSizeByRatio(button,10,25);它将按钮宽度设置为屏幕宽度的10%,高度设置为屏幕的25%.

是否有绝对布局不起作用的手机?此布局是否会导致任何其他问题?

解决方法 不推荐使用absoluteLayout的原因是因为您在linearLayout或GrIDLayout中有相同或更多的替代方法.您似乎正在尝试根据绝对位置和像素数计算位置,这种方法通常应该由于varoius屏幕尺寸和密度问题而避免.

阅读@amIEkuser提供的链接,并关注理解最佳实践的方式.一些提示是为ldpi,mdpi和hdpi文件夹创建图像,使用单位表示dpi(密度无关像素)而不是原始像素,以及如何使用模拟器在多种屏幕尺寸和密度上测试应用程序.

编辑:

要设置视图的x和y位置,必须使用LayoutParams.请参阅this question,了解如何使用LayoutParams为VIEw设置topmargin和leftmargin.

总结

以上是内存溢出为你收集整理的Android:AbsoluteLayout?全部内容,希望文章能够帮你解决Android:AbsoluteLayout?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1148873.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存