【问题标题】:How can I make an ImageButton display just an image?如何使 ImageButton 仅显示图像?
【发布时间】:2012-09-28 16:20:30
【问题描述】:

我有一张很酷的图片(喜欢圆角)。我想在我的 android 应用程序中实现该图像。当点击它时,我希望它变暗一点(就像按下按钮时一样)并启动一个新活动。

我该怎么做?我应该使用什么(ImageView、ImageButton 或只是 Button)?

【问题讨论】:

  • 使用 ImageButton 并将图像背景更改为透明 (#00000000)。然后用你的酷图和你的酷图的深色版本创建新的drawable :)
  • 等等,等等……我该怎么做?将背景设置为#000000,好的。然后呢?

标签: android button imageview imagebutton


【解决方案1】:

您需要两个版本的酷图片,分别称为 active.png(点击状态,即变暗)和 inactive.png(正常状态)。 在drawable 文件夹中为它们创建一个 Selector 文件,如下所示 喜欢:/drawable/cool_button_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true" android:drawable="@drawable/active"/> 
    <item android:drawable="@drawable/inactive"/>

</selector>

然后像这样使用 ImageButton:

<ImageButton
    android:id="@+id/coolImageButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/cool_button_selector"
    android:background="@null" />

添加: android:background="@null" 到&lt;ImageButton&gt;

希望这会有所帮助:)

【讨论】:

  • 是的,您需要两张带圆角的图片,一张正常,另一张有点暗。
  • 好的,我仍然没有我的实际图像在那个图像按钮中。我认为这个想法很好,但整个机制太慢了
  • 问题是:不显示实际图像,有点太慢了。
  • “我在那个图像按钮中仍然没有我的实际图像”是什么意思?您是否在 drawable 文件夹中包含了两个版本的图像?
  • 我有两个版本。问题是按钮没有圆角
【解决方案2】:

您可以根据自己的要求使用上述任何一种。对于类似按钮的行为,您可以使用 ImageButton,这是更改图像 onTouch 的说明

change button image in android

同样可以改变ImageView的图片。

ImageView img = (ImageView) getViewById(id-here);
img.setImageResource(R.drawable.my_image);

【讨论】:

  • 当我返回我的活动时,那个按钮会发生什么?那么它仍然是旧的“点击时”图像。
【解决方案3】:

您可以使用带有 onClickListener 的普通 Imageview,imageview 的 drawable 将是一个状态列表可绘制 xml 文件,它带有自己的内置事件侦听器,可以链接到单独的图像资产。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-05
    • 2012-12-25
    • 2012-03-28
    • 1970-01-01
    • 2019-05-27
    相关资源
    最近更新 更多