我寫了自定義視圖,它繪製了一個圓圈。然後我把它放在相對佈局上。我還把標準按鈕放在那裏,以便它們重疊。我看到那個按鈕是透明的。如何使它不透明?如何讓按鈕不透明?
回答
標準霍洛主題按鈕是部分透明的。你可以創建一個新的按鈕9.png圖像在按鈕中使用或通過使用drawable創建一個新按鈕。
下面是關於如何做後者的鏈接:
你可以把按鈕,在單獨的框架佈局,使您的視圖不會影響按鈕,這就是我的想法
保存下面的代碼作爲繪製文件夾中的XML,並給這個XML作爲按鈕的背景
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="0dp" android:color="#ffffff" />
<solid android:color="#000000"/>
<corners android:radius="1px"/>
<padding android:left="5dp" android:top="3dp" android:right="5dp" android:bottom="3dp" />
</shape>
例:
android:background="@drawable/<< your file name>>"
全息透明度實際上內置於PNG文件中。所以改變它的唯一真正方法是編輯PNG並使它們不透明。這實際上並不容易。您需要將圖像的Alpha通道乘以255/102。這不容易!
但是因爲我是這樣一個天才,我找到了一個辦法。基本上我將所有相關的PNG和XML複製到他們自己的目錄結構中(按鈕只有-mdpi
,-hdpi
和-xhdpi
版本)。然後我跑這個:
FILE在find . -name *.png
;做mogrify -evaluate Multiply 2.5-channel Alpha $ FILE;完成
工作完成!事實上,由於某些原因,它對殘疾人按鈕並不適用 - 我認爲,因爲該中心是超透明的,但我不太在意這些。如果您希望它們完全不透明,則必須對這些圖像使用比2.5更高的值。
去年的結果是here。
這很棒,但是當你說「然後我跑這個...」,在哪裏你是從哪個代碼運行的? – Floris
我與同樣的問題,但與ToggleButton。一個醜陋而快速的解決方案是將ImageView放置在按鈕的後面,並將其改爲margin
s,background
和alpha
以適應按鈕。例如,RelativeLayout的內部:
<ImageView
android:layout_alignLeft="@+id/toggleButton"
android:layout_alignBottom="@+id/toggleButton"
android:layout_alignRight="@+id/toggleButton"
android:layout_alignTop="@+id/toggleButton"
style="@style/HackBackgroundToggleButton" />
<ToggleButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/toggleButton"
... />
而且,爲了減少可見破解,提取的風格:
<style name="HackBackgroundToggleButton">
<item name="android:layout_width">84dp</item>
<item name="android:layout_height">42dp</item>
<item name="android:background">#FFFFFF</item>
<item name="android:layout_marginTop">4dp</item>
<item name="android:layout_marginLeft">4dp</item>
<item name="android:layout_marginRight">4dp</item>
<item name="android:layout_marginBottom">4dp</item>
<item name="android:alpha">0.75</item>
</style>
- 1. 大膽/不透明按鈕
- 2. C#透明按鈕
- 3. 如何讓Silverlight按鈕在顯示圖像時透明?
- 4. WPF:如何使按鈕背景透明
- 5. Java:如何讓容器的Jscrollpane背景不透明? (即透明)
- 6. 設置視圖透明但保持按鈕等不透明
- 7. 半透明網格背景與不透明按鈕
- 8. 包含不透明文本和按鈕的透明窗口
- 9. 如何讓jqGrid Style透明
- 10. 如何讓JFrame透明?
- 11. 如何讓Python curses overlay不透明?
- 12. 按鈕的透明背景
- 13. 製作透明按鈕
- 14. 按鈕背景爲透明
- 15. 透明導航軟按鈕
- 16. UIImage UIToolbar按鈕不完全透明
- 17. LinkedIn關注按鈕不透明
- 18. ul工作不透明,但按鈕有不透明度,我不想
- 19. 如何在Android中使按鈕不透明?
- 20. 如何在Windows窗體中設置按鈕不透明度
- 21. 我該如何讓Google +1按鈕的懸停信息變得透明
- 22. 如何讓我的自定義位圖按鈕字段使用透明背景?
- 23. 如何讓透明的SVG在Java中透明化?
- 24. 透明滾動視圖上的非透明按鈕有問題
- 25. 如何讓jQuery的旋鈕背景顏色透明
- 26. 如何讓列表框透明,但WPF中的列表框項不透明?
- 27. 製作一個按鈕透明,然後在Android中再次不透明
- 28. 何時不透明0 *不透明?
- 29. 如何讓Tkinter支持PNG透明度?
- 30. 如何讓java JPanel和graphics2d透明?
什麼是最簡單的方法是什麼?難道我不能將按鈕設置爲不透明嗎? –
第二個選項非常簡單。您可以將按鈕背景更改爲純色(即#999999),但不會看起來不錯,並且不會讓按鈕處於按下狀態,從而導致用戶體驗不佳。 – Tony