17

我写了一个画一个圆圈的自定义视图。然后我把它放在相对布局上。我还把标准按钮放在那里,以便它们重叠。我看到那个按钮是透明的。如何让它不透明?

在此处输入图像描述

4

6 回答 6

31

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

于 2012-10-18T04:57:27.163 回答
6

标准的 Holo 主题按钮是部分透明的。您可以创建一个新的按钮 9.png 图像以在按钮中使用,也可以使用 drawable 创建一个新按钮。

这是有关如何执行后者的链接:

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

于 2012-05-17T09:38:12.640 回答
3

您可以将按钮放在单独的框架布局中,这样您的视图就不会影响按钮,这就是我的想法

于 2012-05-17T09:36:50.230 回答
1

将以下代码保存为可绘制文件夹中的 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>>"
于 2012-05-17T09:57:01.493 回答
1

我遇到了同样的问题,但使用了 ToggleButton。一个丑陋但快速的解决方案是在按钮后面放置一个 ImageView 并更改它margin的 s,backgroundalpha适合按钮。例如,在 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"
    ... />

而且,为了减少可见的 hack,提取的样式:

<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>
于 2013-07-05T06:23:00.057 回答
0

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

但是因为我是个天才,所以我找到了一种方法来做到这一点。基本上我将所有相关的 PNG 和 XML 复制到它们自己的目录结构中(按钮只有-mdpi,-hdpi-xhdpi版本)。然后我运行了这个:

对于文件find . -name *.png;做 mogrify -evaluate Multiply 2.5 -channel Alpha $FILE ;完毕

任务完成!实际上,由于某种原因,它对禁用的按钮不太有效——我认为是因为中心是超透明的,但我不太在乎这些。如果您希望它们完全不透明,则必须为这些图像使用高于 2.5 的值。

结果就在这里

于 2012-11-02T13:17:34.290 回答