【问题标题】:android ImageButton gets gray backgroundandroid ImageButton 获取灰色背景
【发布时间】:2011-03-02 23:28:33
【问题描述】:

我有一个带有漂亮背景选择器的按钮。美好的。我想要一个图像,而不是按钮中的文本。我尝试将其更改为具有 src 属性的 ImageButton。当我这样做时,看起来灰色背景覆盖在我的选择器后面,在 src 图像后面。

当我改回常规按钮时,问题就消失了。我想要的只是我的背景选择器,加上 src 图像(而不是按钮文本)。

有什么想法吗?

【问题讨论】:

    标签: android background imagebutton


    【解决方案1】:

    ImageButton 应该设置 android:background。

    <ImageButton 
        android:id="@+id/ibArrow"
        android:layout_width="35px"
        android:layout_height="50px"
        android:src="@drawable/arrow"
        android:background="@drawable/backgroundstate" />   
    

    和背景状态:

        <?xml version="1.0" encoding="utf-8"?>
        <selector xmlns:android="http://schemas.android.com/apk/res/android">
            <item android:state_selected="true" android:drawable="@color/transparent" />
            <item android:state_pressed="true" android:drawable="@color/transparent" />
        <item android:drawable="@color/transparent" />
       </selector>
    

    【讨论】:

    • 我在使用图片按钮时遇到了同样的问题。效果很好:)
    • 然后关闭选择器节点。
    【解决方案2】:

    @kdumitru 所说的,但使用正确的 XML 样式表:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_selected="true" android:drawable="@android:color/transparent" />
        <item android:state_pressed="true" android:drawable="@android:color/transparent" />
        <item android:drawable="@android:color/transparent" />
    </selector>
    

    【讨论】:

      【解决方案3】:

      我会说你可能没有在 R.drawable 中正确引用图像,也许你需要将图像放在 drawable 中? ImageView 确实有效。

      【讨论】:

        【解决方案4】:

        你能张贴你看到的截图吗?很难准确说出您在说什么,但听起来您的 src 图像可能没有正确的 alpha 通道。它是具有透明度的PNG吗?确保您的 src 图像是正确保存的透明 PNG 图像。

        【讨论】:

        • 这是我尝试的其中一张图片的示例:cdn1.iconfinder.com/data/icons/humano2/128x128/actions/…。为了解决这个问题,我使用了一个常规按钮,删除了文本,通过 android:drawableTop 引用图像,然后通过手动设置高度来压扁按钮。该方法正确显示图像和背景。基于此,我的假设是图像是正确的。
        • 你能截个图看看这个问题是什么样的吗?您的透明度似乎很好。
        猜你喜欢
        • 2012-07-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-11
        相关资源
        最近更新 更多