【问题标题】:Transparent/translucent Activity on top of another activity having orange Background onClick透明/半透明 Activity 位于另一个具有橙色背景 onClick 的 Activity 之上
【发布时间】:2017-03-29 14:25:16
【问题描述】:

我有一个活动在另一个之上。我在清单文件中使用以下代码作为主题。

<style name="Theme.Transparent" parent="android:Theme">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:backgroundDimEnabled">true</item>
    <item name="android:colorBackgroundCacheHint">@null</item>
</style>

它工作得很好。但是点击视图的任何部分都有一个橙色背景作为选定区域。

这就是它的样子。

知道怎么解决吗?

【问题讨论】:

    标签: android android-activity


    【解决方案1】:

    我通过将背景作为自定义可绘制对象覆盖到该活动中存在的所有视图进行了快速修复。但我想遵循一个标准。

    代码如下所示。

    我为 21 岁以下的 android 创建了一个名为 selectable_background 的可绘制对象。

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="false" android:drawable="@android:color/transparent" />
    <item android:drawable="@color/color_clicked" />
    </selector>
    

    适用于安卓 21 及以上版本

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ripple_black" />
    </selector>
    
    <ripple
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/color_clicked"/>
    

    并添加到所有视图中

    android:background="@drawable/selectable_item_background"
    

    Reference

    【讨论】:

      猜你喜欢
      • 2016-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-15
      • 1970-01-01
      • 1970-01-01
      • 2011-09-15
      • 2015-11-12
      相关资源
      最近更新 更多