2017-01-31 10 views
0

に二行maxまでAlertDialog Builderを制限I次のコードを持っている:アンドロイド

AlertDialog.Builder b = new AlertDialog.Builder(MainActivity.this, R.style.AppDialogTheme); b.setTitle(R.string.opt_out_dialog_title); b.setMessage(R.string.opt_out_dialog_message); b.show();

マイ文字列:時々R.string.opt_out_dialog_messageディスプレイ2行とダイアログ内時には三行。私はそれを制限する方法があるか2行最大にそれを修正する方法があるのだろうか?

+0

サイズが特定の文字数を超えた場合、 '文字列' + ...は特定の2行を超えませんが、タイトル全体も表示されません。 – OBX

+0

AlertDialogは何も提供しませんそれのためのカスタマイズ –

答えて

2

カスタムビューを作成してダイアログに設定するには、setContentViewを使用します。
それとも、それは公式ではありません。このものの試すことができます(すべてのOS、デバイスでは動作しない場合があります):助け

Dialog dlg = b.show(); 
TextView tv = (TextView) dlg.findViewById(android.R.id.message); 
tv.setMaxLines(2); 

希望を。

+0

なぜすべてのOS、デバイスで動作しないのですか? plzについて説明できますか? – AnixPasBesoin

+0

@AnixPasBesoinそれは混乱です。一部のデバイスには、MIIA for xiaomiやOxygen OS for One plusなどの独自のランチャがあり、他のデバイスで正常に動作する通常のコードさえもこれらのデバイスでクラッシュするので、明らかです! – OBX

+1

ダイアログのどこかに 'message'というTextViewがあると仮定していますが、OBXは混乱していると言いますが、デバイスによっては異なるレイアウトを使用する独自の実装があるかもしれません。 ..あなたが望んでいるものがレイアウトであることを確かめるために独自のカスタムダイアログクラスを作成することをお勧めします。 – trooper