当前位置: 首页 > 面试题库 >

如何设置对话框按钮文本的字体大小

楚健
2023-03-14
问题内容

我有一个Android应用程序,它使用一些自定义对话框,这些对话框是从XML布局扩展而来的。对话框视图的内容来自XML布局,但是实际的正负按钮是通过调用构建器的setPositiveButton和setNegativeButton方法添加的,因此我无法控制(或至少不知道如何控制)样式按钮本身。

请从我的LoginConfirmationDialog.java文件中查看下面的onCreateDialog方法,该文件扩展了DialogFragment。基本上,它会弹出一个非常简单的对话框,要求您确认谁在登录(即,“是乔史密斯吗?”,使用“是”和“否”按钮)。

在这种情况下,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();    
}

问题答案:

而不是返回builder.create(),请尝试此操作。

final AlertDialog alert = builder.create();
alert.setOnShowListener(new DialogInterface.OnShowListener() {
    @Override
    public void onShow(DialogInterface dialog) {
        Button btnPositive = alert.getButton(Dialog.BUTTON_POSITIVE);
        btnPositive.setTextSize(TEXT_SIZE);

        Button btnNegative = alert.getButton(Dialog.BUTTON_NEGATIVE);
        btnNegative.setTextSize(TEXT_SIZE);
    }
});

return alert;


 类似资料:
  • 问题内容: 我将按钮放在带有GridLayout的JPane中。然后,我使用BoxLayout.Y_AXIS将JPanel放入另一个JPanel中。我希望GridLayout中的按钮为正方形。我使用tmp.setSize(30,30),它不起作用。我也尝试使用,但我不知道X和Y是什么。那么,做这些东西的正确方法是什么? 添加: 我仍然无法解决问题。这是我正在尝试执行的代码: 问题是Java试图使宽

  • 用这条线 第一行确实是红色的,第二行是蓝色的,但我不能控制任何一个文本行的字体大小,这是什么?我怎么做?

  • 我有一个简单的警报对话框与单选项目 我已经在我的主题中添加了自定义样式的警报对话框 这是我的风格 当我运行应用程序时,我会看到此警报 有没有办法在不创建自定义布局的情况下更改单选按钮附近文本的颜色?

  • 我现在正在用JavaFX做一个简单的数独游戏。现在我在对话中遇到了一些困难。我创建了两个场景,菜单场景只包含“新游戏”和“继续”按钮,主场景包含数独游戏。在主场景中,我创建了一个检查按钮来检查玩家的答案是否正确,如果答案不正确,则在此处显示一个类似于此img的对话框,如果答案正确,则可能在此处显示此img。 然后我发现确认警报很相似。所有我需要改变的是按钮的文字和它的动作,而当点击重试回到游戏场景

  • 问题内容: 这是一个滑块难题。拼图完成后,我想显示一个带有“确定”按钮的对话框。当按下“确定”按钮时,我使用来通过Android浏览器加载网站。唯一的问题是,使用当前代码,当拼图完成后,它不会加载一个框(当我使用时会加载)。它什么也没做。有任何想法吗? 问题答案: 试试这个

  • 在此输入图像说明 虽然大小设置为与父级匹配,但仍未设置为极端全屏???