我在每个表格行之间有 1dp 线,我可以在低分辨率屏幕上看到这些线。但是如果我在 nexus 4 中看到同样的东西,这些线是不可见的,我怎样才能让那些 1dp 线在高分辨率屏幕上可见,这样我的设计在所有分辨率下都是一样的。?
问问题
132 次
2 回答
0
使用以下代码
Display display = getWindowManager().getDefaultDisplay();
int ScreenHeight = display.getHeight();
int ScreenWidth = display.getWidth();
View view = (View) findViewById(R.id.view);
LayoutParams paramsView = new LayoutParams((int)(ScreenWidth * .01), LayoutParams.FILL_PARENT);
view.setLayoutParams(paramsView);
它会将您的视图宽度设置为 ScreenWidth 的 1%...您可以根据需要增加百分比或使用 ScreenHeight 变量!
于 2013-09-28T19:55:54.903 回答
0
我知道这个问题已经有一段时间了,但是有几种方法可以做到这一点:
1) 在 1dp 的 dimens.xml 中创建维度条目:
<dimen name="oneDP">1dp</dimen>
2)获取DisplayMetrics,然后将像素数乘以密度:
DisplayMetrics metrics = new DisplayMetrics(); activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); float scaleFactor = metrics.density;
为时已晚,但这可能对将来的某些人有所帮助
于 2014-10-20T14:37:21.840 回答