我有一个 android 应用程序,它使用一些从 XML 布局膨胀的自定义对话框。对话框视图的内容来自 XML 布局,但实际的正负按钮是通过调用构建器的 setPositiveButton 和 setNegativeButton 方法添加的,所以我无法控制(或至少不知道如何控制)样式按钮本身。
从我的 LoginConfirmationDialog.java 文件中查看下面的 onCreateDialog 方法,该文件扩展了 DialogFragment。它基本上会弹出一个非常简单的对话框,要求确认谁正在登录(即“你是 Joe Schmoe 吗?”,带有是和否按钮)。
在这种情况下,XML 布局只有一个 TextView,为了简化操作(因为用户将是需要大文本和大按钮的粗大脏手指的建筑工人),我将 TextView 的字体设置得相当大。虽然这两个按钮的文本字体要小得多,而且由于它们不是我的布局的一部分,而是使用 setPositiveButton 和 setNegativeButton 方法添加的,我该如何控制字体大小?
@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();
}