我試圖通過使用此代碼來使edittext的頁邊空白,但是當我將此代碼的產品作爲頁邊距時,頁邊距佔用的區域比dip值。我知道這一點,因爲當我把160作爲DIP_Value時,保證金只佔用了屏幕的一部分,而不是全部。我將如何解決這個問題?Android dip轉換不起作用
int px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, DIP_Value , getResources().getDisplayMetrics());
RelativeLayout.LayoutParams textbox = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
textbox.setMargins(px, 0, 0, 0);
「當我把160作爲DIP_Value,保證金只佔用屏幕的一部分而不是整個東西」 - 它應該佔用一英寸,而不是「整個東西」。你正確理解「dip」嗎? – 323go
是不是整個屏幕160下降? – user3435542
不會。您正在混淆dpi和dip。 Android參考分辨率爲160dpi =每英寸160點。所以160次驟降(=密度獨立像素)應該在* 1英寸左右測量*。如果您的設備屏幕實際上具有240 dpi的分辨率,那麼寬度爲160dip的小部件仍然*寬*一英寸,但實際上佔用240像素。 – 323go