• Android 编程下实现 Activity 的透明效果


    实现方式一(使用系统透明样式)

    通过配置 Activity 的样式来实现,在 AndroidManifest.xml 找到要实现透明效果的 Activity,在 Activity 的配置中添加如下的代码设置该 Activity 为透明样式,但这种实现方式只能实现纯透明的样式,无法调整透明度,所以这种实现方式有一定的局限性,但这种方式实现简单。

    android:theme="@android:style/Theme.Translucent"
        <activity
            android:name="cn.sunzn.transact.MainActivity"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.Translucent" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
        
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    实现方式二(使用自定义透明样式)

    这种方式的实现同样要配置 Activity 的样式,只不过这里的样式是我们自定义的。具体实现过程如下:

    1 在 res/values/color.xml 文件下加入一个透明颜色值,这里的 color 参数,是两位数一个单位,前两位数是透明度,后面每两位一对是16进制颜色数字,示例中为白色。

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

    2 在 res/values/styles.xml 文件中加入一个自定义样式,代码如下。

    <!-- item name="android:windowBackground"         设置背景透明度及其颜色值 -->
    <!-- item name="android:windowIsTranslucent"      设置当前Activity是否透明-->
    <!-- item name="android:windowAnimationStyle"     设置当前Activity进出方式-->
    <style name="translucent">
        <item name="android:windowBackground">@color/translucent_background</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
    </style>

    3 在 AndroidManifest.xml 找到要实现透明的 Activity,在想要实现透明的 Activity 中配置其属性,代码如下;也可在该 Activity 的 onCreat() 方法中调用 setTheme(R.style.translucent) 来实现。

    <activity
        android:name="cn.sunzn.transact.MainActivity"
        android:label="@string/app_name"
        android:theme="@style/translucent" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
    
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
  • 相关阅读:
    HDU1542 Atlantis(矩形面积并)
    HDU4784 Dinner Coming Soon(dp)
    1023: [SHOI2008]cactus仙人掌图(DP+单调队列优化)
    BZOJ 1004: [HNOI2008]Cards(群论)
    BZOJ USACO 银组 水题集锦
    BZOJ 3401: [Usaco2009 Mar]Look Up 仰望(离线+平衡树)
    BZOJ 3404: [Usaco2009 Open]Cow Digit Game又见数字游戏(博弈论)
    BZOJ 3208: 花神的秒题计划Ⅰ
    BZOJ 2456: mode(乱搞)
    BZOJ 2424: [HAOI2010]订货(费用流)
  • 原文地址:https://www.cnblogs.com/sunzn/p/3584003.html
Copyright © 2020-2023  润新知