Activity分类示例的最后几个例子是来显示半透明Activity。例子大同小异。实现Activity的半透明效果主要是通过Style和Theme来实现的。

看看TranslucentActivity 在AndroidManifest.xml中的定义:

        <activity android:name=".app.TranslucentActivity"
android:label="@string/activity_translucent"
android:theme="@style/Theme.Translucent"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.SAMPLE_CODE" />
</intent-filter>
</activity>

它使用了Theme.Translucent 主题,这个主题定义在res/styles.xml:

    <!-- A theme that has a translucent background.  Here we explicitly specify
that this theme is to inherit from the system's translucent theme,
which sets up various attributes correctly. -->
<style name="Theme.Translucent" parent="android:style/Theme.Translucent">
<item name="android:windowBackground">@drawable/translucent_background</item>
<item name="android:windowNoTitle">true</item>
<item name="android:colorForeground">#fff</item>
</style>

它通过继承系统主题android:style/Theme.Translucent,然后加以修改。@drawable /translucent_background定义在Colors.xml中,颜色值为#e0000000 ,alpha值,也就是透明度为#e0(半透明)。

【起航计划 014】2015 起航计划 Android APIDemo的魔鬼步伐 13 App-&gt;Activity-&gt;Translucent 半透明Activity Theme.Translucent-LMLPHP

05-19 15:37