处理高分辨率屏幕中的1dp线..?

时间:2013-09-28 19:38:59

标签: android android-layout

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

2 个答案:

答案 0 :(得分: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);

它会将View的宽度设置为ScreenWidth的1%...您可以根据需要增加perecentage或使用ScreenHeight变量!

答案 1 :(得分:0)

我知道问题已经有一段时间了,但有几种方法可以做到这一点:

1)在dimens.xml中以1dp:

创建一个维度条目
<dimen name="oneDP">1dp</dimen>

2)获取DisplayMetrics,然后将像素数乘以密度:

DisplayMetrics metrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
float scaleFactor = metrics.density;

现在已经很晚了,但这可能会对未来的某些人有所帮助