我已经意识到我并不是100%确定定位某些UI元素的最佳方法是什么,以便它出现在所有设备的同一位置。
到目前为止,这些是选项:
dp
填充View
并更改每个设备的填充Java code
中计算屏幕大小,并从代码集中以通用方式定位。例如,将图像设置为距离顶部1/5屏幕高度,并根据当前设备的屏幕高度应用此公式。 dp
,而是使用layout_weight
有问题的元素什么似乎是最好的方式?
我有没有更好的方法在这里没有提及?
由于
答案 0 :(得分:6)
两个最佳选择如下:
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);