2011-10-25 71 views
3

在我的Android應用程序中,我有一個自定義對話框。我想設置對話框標題欄的高度。我的風格如下:如何在Android中更改自定義對話框標題欄的高度

<resources> 
    <style name="customDialogStyle" parent="android:Theme.Dialog"> 
     <item name="android:background">#04a9ee</item> 
     <item name="android:height">5dp</item> 
    </style> 
</resources> 

但標題欄上沒有「高度」屬性的影響。那麼,如何改變自定義對話框標題欄的高度呢?

+0

試試「android:layout_height」? – SnowyTracks

回答

2

星爺我只是檢查,你想使用其他"android:layout_height"的高度,你也可以使用,如:"android:minHeight"

+0

我已經嘗試了「android:layout_height」和「android:minHeight」,但標題欄的大小沒有變化。這些屬性會對對話框或其標題欄產生影響嗎?在我的情況下,什麼也沒有發生 – rizzz86

+2

你不能自己改變對話框中標題欄的高度,你將不得不創建你自己的視圖,並將對話框的視圖設置爲你的自定義視圖。這可以像這樣完成:http://developer.android.com/guide/topics/ui/dialogs.html#CustomDialog – SnowyTracks

2

這對我的作品

你的主題:

<resources> 
     <style name="MyDialog" parent="android:Theme.Holo.Dialog"> 
      ....... 

     </style> 

    </resources> 

您的自定義對話框類:

public class CustomDialog extends Dialog 
    { 
     public CustomDialog(Context context, int theme) { 
      super(context, theme); 
     } 


     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 

      ........... 

      Resources res = getContext().getResources(); 
      int titleId = res.getIdentifier("title", "id", "android"); 
      View title = findViewById(titleId); 
      if (title != null) { 
       title.getLayoutParams().height = 5; // your height 
      } 
     } 
    } 

創建對話框並顯示在您的r代碼:

CustomDialog customDialog = new CustomDialog(this, R.style.MyDialog); 
    customDialog.show();