我在每个表格行之间有1dp行,我能够在低分辨率屏幕中看到这些行。但是如果我在nexus 4中看到同样的东西,那些线条是不可见的,我怎样才能在高分辨率屏幕上看到这些1dp线条,这样我的设计在所有分辨率下都是一样的。?
答案 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;
现在已经很晚了,但这可能会对未来的某些人有所帮助