0

我在每个表格行之间有 1dp 线,我可以在低分辨率屏幕上看到这些线。但是如果我在 nexus 4 中看到同样的东西,这些线是不可见的,我怎样才能让那些 1dp 线在高分辨率屏幕上可见,这样我的设计在所有分辨率下都是一样的。?

4

2 回答 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 回答