2013-09-28 48 views
0

我在每個表格行之間有1dp線,我能夠在低分辨率屏幕中看到這些線條。但是如果我在nexus 4中看到同樣的東西,那些線條不可見,那麼我怎樣才能讓這些1dp線條在高分辨率屏幕中可見,這樣我的設計在所有分辨率下都是一樣的。處理高分辨率屏幕中的1dp行..?

+2

DP代表設備無關的像素,所以該行應是可見的獨立的決議。 – Ridcully

+0

我可以看到480x800的線,三星S2,但同樣的線我無法看到在nexus 4 – ida

+0

嘗試增加線的高度。並檢查你是否可以看到它。 – hasan83

回答

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); 

將您的視圖的寬度設置爲屏幕寬度的1%...你可以增加perecentage或使用ScreenHeight變量按您的要求!

0

我知道它已經因爲這個問題一段時間,但有幾個方法可以做到這一點:在1DP

1)請在dimens.xml維度項:

<dimen name="oneDP">1dp</dimen> 

2)獲取DisplayMetrics,然後通過密度乘以像素的數目:

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

現在已經晚了,但是這可能幫助別人,將來