2011-10-25 17 views
3

私のアンドロイドアプリには、カスタムダイアログボックスがあります。ダイアログのタイトルバーの高さを設定したい。私のスタイルは以下の通りです:Androidでカスタムダイアログのタイトルバーの高さを変更する方法

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

しかし、タイトルバーには「高さ」属性の効果はありません。ですから、カスタムダイアログのタイトルバーの高さはどのように変更できますか?

+0

try "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(); 
関連する問題