2012-01-12 9 views
6

私は10.1のすべてのタブレット用にアプリケーションを作成していますが、今はこれをsamsung galaxyタブで試しています。 私はそのすべての部分を行っていますが、警告ダイアログはタブレットサイズに関しては小さすぎます。 カスタムアラートダイアログも作成しましたが、見栄えが良くありません。 私は、デフォルトのアラートダイアログのサイズを変更することはできますか?アラートダイアログまたはカスタムアラートダイアログのサイズ

OR

デフォルトのアラートダイアログのように見えるカスタム警告ダイアログを作成する方法について説明します。

ありがとうございました。

答えて

12

thisディスカッション・グループのポストにAndroidプラットフォームの開発者ダイアンHackbornによるとthis one

を参照してください、ダイアログはWRAP_CONTENTにそのウィンドウのトップレベルのレイアウトの幅と高さを設定します。ダイアログを大きくするには、これらのパラメータをFILL_PARENTに設定します。

デモコード:ダイアログが表示された後に属性が設定されていること

AlertDialog.Builder adb = new AlertDialog.Builder(this); 
Dialog d = adb.setView(new View(this)).create(); 
// (That new View is just there to have something inside the dialog that can grow big enough to cover the whole screen.) 

WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); 
lp.copyFrom(d.getWindow().getAttributes()); 
lp.width = WindowManager.LayoutParams.MATCH_PARENT; 
lp.height = WindowManager.LayoutParams.MATCH_PARENT; 
d.show(); 
d.getWindow().setAttributes(lp); 

注。システムは設定されたときには辛抱強くです。 (レイアウトエンジンは、ダイアログが最初に表示されたときなどに設定する必要があると思います)

Theme.Dialogを拡張することでこれを行う方が良いでしょう。推測ゲームをプレイする必要はありませんsetAttributesをいつ呼び出すかについてです。 (これには、http://developer.android.com/guide/topics/ui/themes.html#SelectAThemeに従って行うことができます)

によると、ダイアログに自動的に適切な明るいまたは暗いテーマ、またはハニカムホロのテーマを採用させる作業はもう少しです。
関連する問題