我已经意识到我不是100%确定定位一些UI元素的最佳方法是什么,以便它出现在所有设备上的同一位置.
到目前为止,这些是选项:
>为每个设备设置dp填充
>在此图像上方创建视图并更改每个设备的填充
>使用Java代码计算屏幕大小,并从代码集中以泛型方式定位.例如,将图像设置为距离顶部1/5屏幕高度,并根据当前设备的屏幕高度应用此公式.
>类似于第2点,但我没有使用固定的dp,而是使用layout_weight的元素
什么似乎是最好的方式?
有没有更好的方法我在这里没有提到?
谢谢
解决方法
两个最佳选择如下:
>在代码中 – 计算屏幕大小并使用屏幕百分比.
>对视图使用layout_weight,对父视图使用weight_sum.
代码方法的一个小例子 – 假设您希望View恰好是屏幕宽度的25%:
WindowManager manager = (WindowManager) _context.getSystemService(Activity.WINDOW_SERVICE); int screenWidth = manager.getDefaultDisplay().getWidth(); YOUR_VIEW.getLayoutParams().width = (int) (screenWidth * 0.25);