2011-06-10 53 views
0

我已經創建了一個自定義主題來定義標題欄和背景樣式的大小。 這是代碼:Android - 如何創建依賴於屏幕分辨率的主題?

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="customTheme" parent="android:Theme"> 
     <item name="android:windowTitleSize">53px</item> 
     <item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item> 
      <item name="android:windowContentOverlay">@android:color/transparent</item> 
    </style> 
</resources> 

的問題是,我設置一個固定的大小對本標題欄,而不是使用取決於該設備是否正在使用HDPI/MDPI或LDPI圖標不同的值。

這裏應該做些什麼?我嘗試將主題和樣式添加到drawable目錄,但顯然這是錯誤的。

謝謝!

回答

1

您是否考慮過百分比寬度或密度無關像素(dp)?看看Android的unit's of measurement

+0

不是一個壞主意。謝謝! – 2011-06-10 18:01:40

1

我不知道這是否會對您有所幫助,但您可以通過編程方式檢測屏幕密度。我沒有使用自定義標題欄,所以我不知道是否可以通過編程方式更改標題。

 DisplayMetrics metrics = new DisplayMetrics(); 
     getWindowManager().getDefaultDisplay().getMetrics(metrics); 
     switch(metrics.densityDpi){ 
      case DisplayMetrics.DENSITY_LOW: 
       ** 
         break; 
      case DisplayMetrics.DENSITY_MEDIUM: 
       ** 
         break; 
      case DisplayMetrics.DENSITY_HIGH: 
       ** 
         break; 
     } 
+0

這可能是一個可能的解決方案。但Tanner正確地使用'dp'而不是'px'。 – 2011-06-10 18:02:23