如何使button不透明?

我写了自定义视图,绘制一个圆圈。 然后我把它放在相对的布局。 另外,我把标准的button,让他们重叠。 我看到这个button是透明的。 如何使它不透明?

在这里输入图像说明

Solutions Collecting From Web of "如何使button不透明?"

标准的全息主题button部分透明。 您可以创build一个新的button9.png图像在button中使用或通过使用drawable创build一个新的button。

这里有一个关于如何做后者的链接:

http://droidapp.co.uk/?p=309

将背景设置为@android:drawable/btn_default以摆脱holo主题的透明度

你可以把button在单独的框架布局,以便您的视图不会影响button,多数民众赞成我的想法

将下面的代码保存为可绘制文件夹中的xml,并将此xml作为button背景

 <?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>>" 

我与同样的问题,但与ToggleButton。 一个丑陋而快速的解决scheme是将ImageView放置在button的后面,并更改marginbackgroundalpha以适应button。 例如,在一个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" ... /> 

而且,为了减less可见的黑客,提取的风格:

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

全息透​​明度实际上是内置于PNG文件中的。 所以改变它的唯一真正的方法是编辑PNG并使它们不透明。 这实际上并不容易。 你需要乘以255/102的图像的alpha通道。 这不容易!

但是因为我是一个天才,所以我find了一个办法。 基本上我把所有相关的PNG和XML复制到他们自己的目录结构中(button只有-mdpi-hdpi-xhdpi版本)。 然后我跑这个:

find . -name *.png FILE find . -name *.png find . -name *.png ; 做mogrify -evaluate乘法2.5-channel Alpha $ FILE; DONE

任务完成! 事实上,由于某种原因,对于残疾人士的button并不是很有效 – 我认为是因为这个中心是超级透明的,但我并不在意这些。 如果您希望它们完全不透明,则必须使用比2.5更高的值。

结果在这里 。