Android ApiDemos示例解析(16):App->Activity->Translucent
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(半透明)。