所以我是Android开发的新手......如何创建一个像按钮一样的图像,所以当我按下该图像时,图像会启动一个特定的活动。 所以我希望这个显示为图像:
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="33dp"
android:text="Button" />
答案 0 :(得分:22)
将ImageButton创建为:
在main.xml中:
<ImageButton android:id="@+id/ib"
android:src="@drawable/bookmark" <-- SET BUTTON IMAGE HERE -->
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
在代码部分:
ImageButton ib=(ImageButton)findViewById(R.id.ib);
ib.setOnClickListener(ibLis);
}
private OnClickListener ibLis=new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//START YOUR ACTIVITY HERE AS
Intent intent = new Intent(YOUR_CURRENT_ACTIVITY.this,NextActivity.class);
startActivity(intent, 0);
}
};
修改强>
和第二个选项,如果你想使用按钮视图创建一个像按钮的图像,然后创建一个自定义按钮:
首先将你所有的图像放在res / drawable文件夹中,然后在drawable / newbtn.xml中添加一个newbtn.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/button_pressed" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/button_focused" /> <!-- focused -->
<item android:drawable="@drawable/button_normal" /> <!-- default -->
</selector>
最后在按钮XML中将android:background
设置为:
<Button
android:id ="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello"
android:textColor="#ffffffff"
android:background="@drawable/newbtn" <-- get button background to selector -->
/>
请参阅本教程“创建带图像的自定义按钮
”答案 1 :(得分:1)
使用ImageView元素,将一个点击监听器附加到它。
XML:
<ImageView
android:id="@+id/myImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/myPic"
/>
代码:
ImageView imageView = (ImageView) findViewById(R.id.myImageView);
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(ThisActivity.this, MyOtherActivity.class);
startActivity(intent);
}
});
您也可以使用ImageButton(以相同的方式)。它几乎没有任何区别。你可以在这里看到更多细节。 Difference between a clickable ImageView and ImageButton
答案 2 :(得分:0)
使用“ setOnClickListener()”过于复杂。而是使用XML中的'onClick'属性:
<ImageButton
android:id="@+id/button19"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:onClick="yourCallback"
android:src="@drawable/your_image"
/>
public void yourCallback(View view)
{
...
}