Android应用开发中半透明效果实现方案

下面是自定义Activity半透明的效果例子:

res/values/styles.xml

<resources> 
  <stylename="Transparent ">
    <itemname="android:windowBackground">@color/transparent_background</item> 
    <itemname="android:windowNoTitle">true</item> 
    <itemname="android:windowIsTranslucent">true</item>   
    <itemname="android:windowAnimationStyle">@+android:style/Animation.Translucent</item> 
  </style> 
</resources>

res/values/color.xml
<?xmlversion="1.0"encoding="utf-8"?> 
<resources> 
  <colorname="transparent_background">#50000000</color> 
</resources>


注意:

color.xml的#5000000前两位是透明的效果参数从00 到 ff(透明--不么透明),后6位是颜色的设置manifest.xml

<activity
android:name=".TransparentActivity"
android:theme="@style/Transparent"/>

java代码
publicvoid onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState); 
        setTheme(R.style.Transparent);  
        setContentView(R.layout.transparent); 
}


下面是利用系统主题实现Activity半透明的效果例子:

Android为透明效果提供了内置的主题:Theme(android:style/Theme.Translucent),

如果想实现透明效果,只要为Activity设置该Theme便可。

如果想实现半透明效果,则只需要继承android:style/Theme.Translucent,并重写便可。

继承android:style/Theme.Translucent并重写:

<?xml version=”1.0″ encoding=”utf-8″?>
<resources>
<stylename=”Theme.Translucent” parent=”android:style/Theme.Translucent”>
<itemname=”android:windowBackground”>@color/translucent_background</item>
<itemname=”android:colorForeground”>#fff</item>
</style>
</resources>

AndroidMainfest.xml中使用该主题:
<activity
android:name=”.Translucent” android:label=”@string/app_name”
android:theme=”@style/Theme.Translucent”>
<intent-filter>
<actionandroid:name=”android.intent.action.MAIN” />
<categoryandroid:name=”android.intent.category.LAUNCHER” />
</intent-filter>
</activity>

或者:

        <activity
            android:name=".ContactActivity"
            android:alwaysRetainTaskState="true"
            android:configChanges="orientation|keyboardHidden"
            android:label="@string/app_name"
            android:launchMode="singleTask"
            android:theme="@android:style/Theme.Light" >
        </activity>
内容参考:http://xmagicj.diandian.com/post/2012-06-04/40028622355

下面是实现View半透明的效果例子:
Button或者ImageButton的背景设为透明或者半透明
半透明:<Button android:background="#e0000000" ... />
透明:    <Button android:background="#00000000" ... />

颜色和不透明度 (alpha) 值以十六进制表示法表示。

任何一种颜色的值范围都是 0 到 255(00 到 ff)。

对于 alpha,00 表示完全透明,ff 表示完全不透明。

表达式顺序是“aabbggrr”,其中“aa=alpha”(00 到 ff);“bb=blue”(00 到 ff);

“gg=green”(00 到 ff);“rr=red”(00 到 ff)。

例如,如果您希望对某叠加层应用不透明度为 50% 的蓝色,则应指定以下值:7fff0000

设置背景图片透明度(超简单)
Java代码
View v = findViewById(R.id.content);//找到你要设透明背景的layout 的id
v.getBackground().setAlpha(100);//0~255透明度值


原文地址:https://www.cnblogs.com/fengju/p/6174496.html