【问题标题】:Setting background on ImageButton doesn't work在 ImageButton 上设置背景不起作用
【发布时间】:2013-08-20 04:10:15
【问题描述】:

我有一个 ImageButton,我希望能够在单击它时看到一种颜色。我添加了一个背景,并使用了我用于所有列表视图的相同列表选择器,但是当我单击 ImageButton 时它没有显示任何内容。

这是 ImageButton xml

<ImageButton
    android:id="@+id/button_biomes"
    android:layout_width="fill_parent"
    android:layout_height="100dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:src="@drawable/biome" 
    android:background="@drawable/listselector"/>

这是可绘制的列表选择器:

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

如果有人可以帮助我,将不胜感激。谢谢!

【问题讨论】:

  • 当您从 ImageButton 中删除 android:src 时会发生什么?还要尝试为每个item 定义不同的drawable,而不是不同的color。所以你可以试试&lt;item android:state_enabled="true" android:state_pressed="true" android:drawable="@drawable/SOME_OTHER_DRAWABLE_OF_THAT_COLOR" /&gt; 之类的东西。看看它是否会产生任何差异。

标签: android image button selector imagebutton


【解决方案1】:

您的图片可能占据了整个空间并且没有显示背景。这里,image 和 background 是两个不同的东西,所以不要期望 src 图片是透明的。

【讨论】:

  • 我设法部分实现了我想要的。我切换了 android:src 和 android:background 以便 listselector 是 src 而图像是背景。虽然这可行,但我的问题是,如何使列表选择器颜色(绿色)半透明,以便在按下 ImageButton 时仍然可以看到图像?
  • 然后删除背景标签并将 selector.xml 添加到 src 标签。接下来,在 photoshop 中创建两个图像,一个是正常的,另一个是不透明度为 50-70% 的图像,并将这些图像作为可绘制对象添加到您的选择器中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-29
  • 2012-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-20
相关资源
最近更新 更多