2011-10-19 10 views
3

私はalertDialogに4行のテキストを持っており、カスタムレイアウトを一切提供せずに一列に整列させたいと思っています。アンドロイドのAlertViewでテキストを整列する

+1

もちろん可能です。しかし、カスタムレイアウト*を提供せずに*あなたは何を意味しますか? – Phil

+0

私は彼が "より複雑なビューを表示したい場合は、"カスタム "と呼ばれるFrameLayoutを検索し、あなたのビューを追加するアンドロイドのドキュメントを参照していると思う" –

+0

私の質問は、メッセージが表示されるデフォルトのAlertViewです。これはデフォルトでleft aligndeです。私たちはそれを中心に合わせることができますか? – James

答えて

7

できます。次のように標準ダイアログのメッセージテキスト要素の重力をコード内に設定して、標準のAlertViewダイアログを整列します。

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setTitle("Title"); 
builder.setMessage("Message"); 
builder.setPositiveButton("OK", null); 
AlertDialog dialog = builder.show(); 
// the following line gets a handler to the message element inside the dialog. 
TextView messageText = (TextView)dialog.findViewById(android.R.id.message); 
// and now all that is needed is changing the gravity ... 
messageText.setGravity(Gravity.CENTER); 
+0

ハンドラーをこのようにタイトルにも渡すことができます。 – James

+0

私の知る限り、答えはいいえです。本当にタイトルを揃える必要がある場合は、AlertDialogを新しいXMLテーマで拡張し、テーマの属性に従って新しいダイアログをフォーマットします。詳細については、[AlertDialogのテキストを右揃え]を参照してください(http://stackoverflow.com/a/6131224/978329) – wiztrail

+0

答えに感謝します。 – James

関連する問題