2013-10-23 62 views
0

我正在爲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應該改變阿爾法180

回答

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> 
+0

不錯。但是我只能在運行時點擊按鈕來應用它。任何想法如何做到這一點? – Nazerke

+0

只有當你設置alpha時,你的背景纔會變得半透明 – ches