在開發Android Custom View的時候,常需要在程式碼中去設定View的大小,而Android程式碼的設定值,只能以pixel為單位,可是根據官方建議,元件大小用dp為主,而文字大小則用sp為主,因此需要一個將dp傳換成pixel的工具,不過還好官方有提供各種類型專換至pixel的函式:TypedValue.applyDimension (在android.util這個package下),這樣一來,就可以不用自己寫啦而且是官方提供的,所以可以安心服用XD。
以下是簡單的範例:
以下是簡單的範例:
private float dpToPixel(Context context,int dp) { Resources resources = context.getResources();//取得系統資源 float pixel = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, // 轉換單位:dp值 dp, // 輸入的dp值 resources.getDisplayMetrics()); return pixel; }