gpt4 book ai didi

android - 当我在外面的对话框附近点击时,setCanceledOnTouchOutside 不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:39:06 26 4
gpt4 key购买 nike

我有一个 AlertDialog :

        AlertDialog.Builder builder = new AlertDialog.Builder(context,       AlertDialog.THEME_HOLO_LIGHT);
ListAdapter adapter = new CustomDialogAdapter(context, itemsList);
builder.setAdapter(adapter, listener);
builder.setTitle(title);
AlertDialog dialog = builder.create();
dialog.setCanceledOnTouchOutside(true);

setCanceledOnTouchOutside 仅在我点击距离对话框一定距离时才有效。当我点击对话框附近时,它不会被关闭。你们知道即使我点击对话框附近也可以关闭对话框的方法吗?谢谢。

最佳答案

如果您希望对话框全屏显示,则可以使用 AlertDialog.THEME_HOLO_LIGHT。另一种方法是创建自己的样式,如下所示:

  AlertDialog.Builder builder = new AlertDialog.Builder(context, R.style.ThemeDialogCustom);
ListAdapter adapter = new CustomDialogAdapter(context, itemsList);
builder.setAdapter(adapter, listener);
builder.setTitle(title);
AlertDialog dialog = builder.create();
dialog.setCanceledOnTouchOutside(true);

像下面这样在 values 文件夹中有 style.xml:::

<?xml version="1.0" encoding="utf-8"?>

<resources>
<style name="ThemeDialogCustom" parent="android:Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowBackground">@color/transparent_color</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
<item name="android:colorBackgroundCacheHint">@null</item>
</style>

</resources>

同时在 values 文件夹中添加 colors.xml:::

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="transparent_color">#00000000</color>
</resources>

这对我有用。希望它也对你有用

关于android - 当我在外面的对话框附近点击时,setCanceledOnTouchOutside 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18235274/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com