动态设置alpha到布局的背景图像没有生效

时间:2013-10-23 22:58:50

标签: android layout alpha

我正在为api 15开发。我有一个带有背景图像和按钮的布局。按下按钮时,背景图像应将alpha更改为150.但它不会生效。我是否必须以某种方式强制更新布局以使其生效? 这是我的xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/wall1Layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/wall1withkey"
    tools:context=".FireRoomActivity" >
<Button ...
/>
</RelativeLayout>

在主要活动中,有一种方法应该从按钮响应onClick:

public void buttonClicked(View v)
{
findViewById(R.id.wall1Layout).getBackground().setAlpha(180);;
}

因此,图像wall1withkey应将alpha更改为180

1 个答案:

答案 0 :(得分:0)

当我尝试创建半透明背景时,我使用了自己的自定义主题。

styles.xml

<style name="Theme.Transparent" parent="android:Theme">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:backgroundDimEnabled">false</item>
</style>

然后,您必须将此Theme.Transparent设置为AndroidManifest.xml

中的活动
<activity
        android:name="com.example.TransparentActivity"
        android:theme="@style/Theme.Transparent" >
    </activity>