2016-09-30 77 views
0

如果Android設計規範說襯墊必須例如TextView中的10px的,你將如何表現,在你.XML佈局,因爲我們知道在.XML我們使用DP
例如:Android的設計規範

<TextView android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="@color/white" 
     android:textSize="8sp" 
     android:textStyle="italic" 
     android:id="@+id/myName" 
     android:visibility="gone" 
     android:text="myname" 
     android:paddingBottom="14dp" < is this 10 px?> 
     android:paddingEnd="16dp"/> 

這裏的android:paddingBottom來=「14dp」(14這裏只是假定數),所以我怎麼知道14dp或其他任何數量將在實際屏幕

+0

你可以在你的10px值上添加一個源嗎? –

+0

Android不支持** PX **單元。防爆。 ** android:paddingBottom =「10px」** – Enzokie

+0

您可以放10px,但dp更受歡迎,因爲它可以針對不同的屏幕尺寸 –

回答

0

對不起,錯了你代表10px的。但是沒有這樣的文檔說明某些填充/邊距/高度/寬度/尺寸必須爲* px(像素)。 Android設計規範描述了dp(dip)中的所有維度。我建議您使用Android的Material Design規範。

但是,如果你從某處(告訴他改變了它),有許多在線網站可以將像素轉換爲dp。像:

  1. Pixplicity.com
  2. Angrytools

,或者你可以下面的代碼,以像素轉換成DP:

// context = this; for Activities 
// context = getActivity(); for Fragments 
Resources resources = context.getResources(); 
DisplayMetrics displayMetrics = resources.getDisplayMetrics(); 
float dp = px/((float)displayMetrics.densityDpi/DisplayMetrics.DENSITY_DEFAULT); 

希望這將幫助你都不少。