我遇到過類似的問題,我的客戶想要一個應用程序的漫遊,整個屏幕必須變得更白(如他們所說:「透明」),除了按鈕被解釋一個重疊的講話泡泡。
幸運的是,您的佈局並不像我不得不使用的那樣複雜:)
現在,您可以通過兩種方式獲得透明效果,可以有白色背景並調用所有視圖setAlpha()方法,或者你可以創建一個半透明的白色覆蓋。
如果您使用疊加層,則必須找到一種方法來顯示疊加層中的不透明按鈕。這可能會有點複雜。 如果使用第一個選項,您可以在不透明視圖上設置Alpha(1)以使其顯示出來。
setAlpha()方法僅適用於api版本11+,因此如果您定位的是早期版本,則可能需要稍微更復雜一些。在視圖上設置阿爾法預蜂窩
例子:
佈局的按鈕(讓他們不過你想要的,只是讓他們相似的,所以你可以通過它們循環):
<LinearLayout
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:tag="image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/tile"/>
<TextView
android:tag="text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FF000000"
android:text="button1"/>
</LinearLayout>
在你程序,當你想使按鈕透明:
LinearLayout l = (LinearLayout) findViewById(R.id.button1);
((ImageView)l.findViewWithTag("image")).setAlpha(0x7F);
((TextView)l.findViewWithTag("text")).setTextColor(0x7F000000);
當你^ h ave決定如何創建透明度效果,您將不得不決定如何顯示疊加文本/泡泡。您很可能希望將其放在整個佈局頂部的單獨圖層中,以確保它不受新視圖的影響。
實現此目的的一種方法是將您的根佈局元素更改爲FrameLayout,然後在此創建/顯示。 e.g:
當顯示的介紹,您可以設置隱藏的疊加視圖表項目的位置的位置加以解釋,文本更改爲適當的串/資源並顯示視圖。
當介紹結束時,您重置所有按鈕的alpha值,並將覆蓋層的可見性設置爲再次消失。
非常感謝您的回答!但是,我以某種方式沒有得到代碼的工作。你可以提供一些示例代碼? (你不必爲我寫整個東西) – Force
我添加了一些代碼來改變按鈕的透明度,因爲我意識到setAlpha()只存在於蜂窩中。我會隨時更新一些示例代碼。 – Jave
謝謝,現在它工作完美! :) – Force