Android如何使用样式创建半透明窗体
2611 点击·0 回帖
![]() | ![]() | |
![]() | 本示例介绍如何使用Android系统样式和自定义样式创建半透明界面。 1. 定义清单文件(AndroidManifest.xml) <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:Android="http://schemas.Android.com/apk/res/Android" package="my.andriod.test" Android:versionCode="1" Android:versionName="1.0"> <application Android:icon="@drawable/icon" Android:label="@string/app_name"> <!-- 使用自定义半透明主题样式 Android:theme="@style/Theme.Translucent" --> <activity Android:name=".TranslucentActivity" Android:label="@string/app_name" Android:theme="@style/Theme.Translucent"> <intent-filter> <action Android:name="Android.intent.action.MAIN" /> <category Android:name="Android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- 使用Android系统半透明主题样式 <activity Android:name=".TranslucentActivity" Android:label="@string/app_name" Android:theme="@Androidtyle/Theme.Translucent"> <intent-filter> <action Android:name="Android.intent.action.MAIN" /> <category Android:name="Android.intent.category.LAUNCHER" /> </intent-filter> </activity> --> </application> <uses-sdk Android:minSdkVersion="9" /> </manifest> 2. 定义字符串资源(strings.xml) <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, TranslucentActivity!</string> <string name="app_name">TranslucentActivity</string> <string name="activity_translucent">App/Activity/Translucent</string> <string name="translucent_background">Example of how you can make an activity have a translucent background, compositing over whatever is behind it.</string> </resources> 3. 定义自定义样式(values/styles.xml) <?xml version="1.0" encoding="utf-8"?> <resources> <!-- 继承Android系统的半透明主题样式,并指定半透明背景的颜色、隐藏窗口标题和前景色 --> <style name="Theme.Translucent" parent="Androidtyle/Theme.Translucent"> <item name="Android:windowBackground">@drawable/translucent_background</item> <item name="Android:windowNoTitle">true</item> <item name="Android:colorForeground">#fff</item> </style> </resources> 4. 定义半透明颜色(colors.xml) <?xml version="1.0" encoding="utf-8"?> <resources> <drawable name="translucent_background">#e0000000</drawable> </resources> 5. 定义布局文件(translucent_background.xml) <?xml version="1.0" encoding="utf-8"?> <!-- 在Activity中显示文本 --> <TextView xmlns:Android="http://schemas.Android.com/apk/res/Android" Android:id="@+id/text" Android:layout_width="match_parent" Android:layout_height="match_parent" Android:gravity="center_vertical|center_horizontal" Android:text="@string/translucent_background"/> 6. 创建Activity(TranslucentActivity.java) package my.andriod.test; import Android.app.Activity; import Android.os.Bundle; publicclass TranslucentActivity extends Activity { /** Activity首次创建时,调用这个方法 */ @Override publicvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //填充布局 setContentView(R.layout.translucent_background); } } | |
![]() | ![]() |