1

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

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

4

3 回答 3

5

您需要两个版本的酷图片,分别称为 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" 到<ImageButton>

希望这可以帮助 :)

于 2012-09-28T16:37:20.387 回答
1

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

在android中更改按钮图像

您可以类似地更改 ImageView 的图像。

ImageView img = (ImageView) getViewById(id-here);
img.setImageResource(R.drawable.my_image);
于 2012-09-28T16:24:10.430 回答
0

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

于 2012-09-28T16:27:42.160 回答