【问题标题】:How to make Translucent Activity如何制作半透明活动
【发布时间】:2016-03-30 09:53:02
【问题描述】:

您好,我正在尝试创建半透明活动并在 styles.xml 中定义代码,但我无法使我的活动半透明。我怎样才能使它半透明有人可以帮忙吗?我的styles.xml 代码发布在下面。

<resources>

<!-- Base application theme. -->
<style name="TaxiTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="TaxiTheme.NoActionBar.FullScreen" parent="TaxiTheme">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

<style name="TaxiTheme.NoActionBar" parent="TaxiTheme">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
</style>

<color name="transparent_color">#129049</color>

<style name="Theme.Transparent" parent="TaxiTheme">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowBackground">@color/transparent_color</item>
    <item name="android:windowIsTranslucent">true</item>
</style>

【问题讨论】:

    标签: android


    【解决方案1】:

    将此主题应用于所需的活动

    <style name="Theme.TransparentInfo" parent="android:Theme">
            <item name="android:windowIsTranslucent">true</item>
            <item name="android:windowBackground">@color/semiTransparentBlack</item>
            <item name="android:windowContentOverlay">@null</item>
            <item name="android:windowNoTitle">true</item>
            <item name="android:windowIsFloating">false</item>
            <item name="android:backgroundDimEnabled">true</item>
        </style>
    

    @color/semiTransparentBlack 的值为 #00000000

    【讨论】:

    • 对不起兄弟,它不工作:(应用程序在启动活动时崩溃。错误消息是:你需要在这个活动中使用 Theme.AppCompat 主题(或后代)。
    • 只用“extends Activity”来扩展你的Activity,它会起作用:)
    • 谢谢你..它工作了。我已经替换了 parent="TaxiTheme" 代替 "android:theme" 并扩展了 AppCompactActivity 并添加了 ​​@android:color /透明
    【解决方案2】:

    在您的 res/values/styles.xml 文件中添加以下样式(如果没有,请创建它。)这是一个完整的文件:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    <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:windowIsFloating">true</item>
    <item name="android:backgroundDimEnabled">false</item>
    </style>
    </resources>
    

    现在将样式应用到清单中的活动

    <activity 
    android:name=".MainActivity"
    android:theme="@style/Theme.Transparent">
    ...
    </activity>
    

    【讨论】:

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