在警报对话中自定义Android对讲?

时间:2015-08-11 09:29:52

标签: android alertdialog talkback accessibilityservice

我已通过Android TalkBack检查了所有默认提醒对话框。默认的Android Talkback行为是它在对话框中读取所有内容(不停止)。有什么方法可以根据我的需要定制它。 例如:

AlertDialog alertDialog = new AlertDialog.Builder(AlertDialogActivity.this).create();
alertDialog.setTitle("Alert Dialog");
alertDialog.setMessage("This is my alert dialog");
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
        Toast.makeText(getApplicationContext(), "You clicked on OK", Toast.LENGTH_SHORT).show();
    }
});

alertDialog.show();

当出现对话框时,它会自动读取“提醒对话。这是我的提醒对话。确定。”但我想控制它,就像它应该只读“警报对话”或“这是我的警报对话”等。

点击“确定”时,它只读“确定”,而不是“确定按钮”。

1 个答案:

答案 0 :(得分:1)

如果我理解了您想要的内容,您可以实施自定义提醒对话框,例如完成here,相关代码示例:

final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.dialog);
dialog.setTitle("Android Custom Dialog Box");
TextView txt = (TextView) dialog.findViewById(R.id.txt);
txt.setText("This is an Android custom Dialog Box Example! Enjoy!");
Button dialogButton = (Button) dialog.findViewById(R.id.dialogButton);
        dialogButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
            }
        });

dialog.show();

然后使用View.setContentDescription(text)

在您选择的视图上设置您想要通过TalkBack读取的文本