AlertDialog 的 Leanback 版本

Mat*_*att 3 android android-alertdialog leanback

在 Android 中,制作AlertDialog带有Positive/Negative按钮的按钮很容易。

new AlertDialog.Builder(getActivity())
           .setTitle("Question?")
           .setPositiveButton("YES", new DialogInterface.OnClickListener() {
               @Override
               public void onClick(DialogInterface dialog, int which) {
                   // User chose YES
               }
           })
           .setNegativeButton("NO", new DialogInterface.OnClickListener() {
               @Override
               public void onClick(DialogInterface dialogInterface, int i) {
                   // User chose NO
                }
           }).create().show();
Run Code Online (Sandbox Code Playgroud)

我想在我的TV App 中制作等价物。(向用户提问,得到 Yes/No 响应)

我发现了两件事,但都不能解决我的用例:

  1. ErrorFragment(关闭,但只有 1 个按钮)

  2. GuidedStepFragment(允许我有多个选项,但需要创建一个单独的 Activity,我必须编写自己的代码才能将选定的选项传递回第一个 Activity)

我觉得我错过了一些东西。这只是普通 Android 应用程序中的几行代码。

我尝试只AlertDialog在我的电视应用程序中使用,但它会引发Theme关于在应用程序上设置不正确的错误。另外,我认为这些对话框无论如何都不是可访问性友好的。

Mat*_*att 6

看起来这可以通过向 AlertDialog 调用添加主题来实现:

new AlertDialog.Builder(getActivity(), R.style.Theme_AppCompat)
   ....
Run Code Online (Sandbox Code Playgroud)

  • @Sealer_05 通过 R.style.Theme_AppCompat_Dialog_Alert 或其他合适的对话框样式以使其更小。 (3认同)