系统光标和文本选择选项对话框的样式设置

6

我已将这个颜色选择器作为一个模块集成到我的应用程序中,并进行了一些修改。

我发现一些奇怪的样式,但不知道它们是从哪里来的。 首先,在单击EditText时,光标后面有一个实心蓝色背景:

enter image description here

当您长按EditText中的文本以打开通常的复制/粘贴选项对话框时,我发现对话框后面有一个大的实心蓝色背景:

enter image description here

这些可能来自哪里,如何删除它们?

当前适用于对话框的样式如下:

<style name="MyAlertDialogStyleLight" parent="Theme.AppCompat.Light.Dialog.Alert">
    <item name="colorAccent">@color/textColorPrimary</item>
    <item name="android:textColorPrimary">@color/textColorPrimary</item>
    <item name="android:textColor">@color/textColorPrimary</item>
    <item name="android:textColorAlertDialogListItem">@color/textColorPrimary</item>
    <item name="android:textStyle">normal</item>
    <item name="android:textSize">14sp</item>
    <item name="android:background">@color/colorPrimary</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowTitleSize">16sp</item>
</style>

你应该分享代码而不是图片来解决这些调用问题。你覆盖的是哪个主题? - Pztar
@Pztar 我已添加正在使用的 XML 样式。 - drmrbrewer
请展示你添加在代码中的颜色选择器对话框的代码。我想看看你是如何在代码中添加这个对话框主题(MyAlertDialogStyleLight)的。 - Ready Android
2个回答

0
从您提供的内容来看,我认为您应该尝试将android:background更改为transparent
    <item name="android:background">@android:color/transparent</item>

但这可能会影响其他对话框使用样式MyAlertDialogStyleLight
希望这可以帮到你。

解决了一个问题,但又带来了另一个问题:光标后面的背景确实变成了透明,但整个对话框的背景也变成了透明,这样你就可以看到对话框下面的底层内容。有没有办法只改变光标元素的透明度?@Minhtdh - drmrbrewer
@drmrbrewer,我也不知道,这取决于你在代码中使用的风格,我以前从未使用过你的库,我只是根据你提供的样式猜测。 - justHooman

0

最终我找到了解决方法。答案是交换以下属性中的值,从:

<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:background">@color/colorPrimary</item>

to:

<item name="android:windowBackground">@color/colorPrimary</item>
<item name="android:background">@android:color/transparent</item>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接