如何出于某种原因在“话语提示”中隐藏吐司消息

时间:2019-05-18 07:19:29

标签: android accessibility toast talkback

出于可访问性演示目的,我正在创建android示例应用。 顺便说一下,在创建不良示例可访问性期间,我有一个关于吐司问题的问题。默认情况下,每次显示吐司时,TalkBack都会阅读吐司,这非常好。

但是有时候我想在“话语提示”中隐藏吐司,以使“话语提示”不会阅读该吐司消息。当然,“话语提示”必须阅读所有祝酒消息,以便在没有屏幕阅读器用户的情况下提供相同的信息。但是有时在某些应用中,太多的吐司消息会出现在屏幕上,甚至同一条消息也会留在屏幕上。

因此,在这种情况下,“话语提示”说的太多了,甚至“话语提示”也不会阅读祝酒词,盲人用户可以阅读通过滑动而敬酒的消息。 敬酒消息也不是警报文本。因此,在某些情况下,我认为需要在TalkBack中隐藏吐司。

但是我不知道该怎么做。我在Java中设置了一个视图并添加了Toast消息。然后我将ImportantForAccessibility设置为NO,但这是行不通的。

我的代码如下。 最后,我将其称为自定义TalkBack吐司的堆栈。 谢谢。

imgClick2 = (ImageView)findViewById(R.id.imageView2);
imgClick2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
    Toast toast = new Toast(MainActivity.this);
    TextView messageView = new TextView(MainActivity.this);
        messageView.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
    messageView.setText("visible text");

    toast.setView(messageView);
    toast.show();
    }
});

0 个答案:

没有答案