XMLレイアウトから膨らんだカスタムダイアログを使用するアンドロイドアプリがあります。ダイアログのビューの内容はXMLレイアウトから来ますが、ビルダーのsetPositiveButtonメソッドとsetNegativeButtonメソッドを呼び出すことによって実際のポジティブとネガティブのボタンが追加されるため、スタイリングをコントロールできません(少なくともコントロールする方法はわかりません)ボタン自体のダイアログボタンのテキストのフォントサイズを設定するには
DialogFragmentを拡張するLoginConfirmationDialog.javaファイルの下のonCreateDialogメソッドを参照してください。基本的には、誰がログインしているかを確認するための非常に簡単なダイアログボックスが表示されます(「Are you Joe Schmoe?」、「はい」と「いいえ」ボタン)。
この場合のXMLレイアウトにはTextViewが1つしかありません。これは大規模なテキストや大きなボタンが必要な大きな恋しい人の指を持つ建設作業員になるため、これを簡単にするために、TextViewかなり大きい。しかし、2つのボタンはテキストのフォントがずっと小さく、レイアウトの一部ではなく、setPositiveButtonとsetNegativeButtonメソッドで追加されているので、どのようにフォントサイズを制御できますか?代わりにbuilder.create()
を返す
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Bundle args = this.getArguments();
String empName = args.getString("empName");
// Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_login_confirmation, null);
TextView message = (TextView)view.findViewById(R.id.txtLoginConfirmationMessage);
message.setText("Are you " + empName + "?");
builder.setView(view);
builder.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
mListener.onEmpConfirmPositiveClick(LoginConfirmationDialog.this);
}
});
builder.setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
mListener.onEmpConfirmNegativeClick(LoginConfirmationDialog.this);
}
});
// Create the AlertDialog object and return it
return builder.create();
}
それらを設定し、 'onClick'を設定することですダイアログ作成のハンドラ? – jnthnjns
それは良い点だと思います。私は、デフォルトのボタンをルック・アンド・フィールに使うのが好きですが、ボタンをレイアウトに直接追加してリスナーを設定できると思います。 – Jim
代替アプローチは、この質問で提供され [http://stackoverflow.com/questions/8881710/how-to-reduce-alertdialog-builder-title-font-size-and-positive-button-size] [ 1] [1]:http://stackoverflow.com/questions/8881710/how-to-reduce-alertdialog-builder-title-font-size-and-positive-button-size –