android中怎样把背景透明
1个回答
展开全部
实现方式一(使用系统透明样式)
通过配置 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>
通过配置 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>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询