今天我们来学习一下Android4.0开发当中用到的ImageButton,实际运行效果如下:
当点击ImageButton按钮时,按钮的背景颜色改变,并且提示点击了XX按钮。
界面布局XML文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageButton
android:id="@+id/imagebutton_call"
android:layout_width="70dip"
android:layout_height="50dip"
android:layout_gravity="center"
android:background="@drawable/imagebutton_item_bg"
android:src="@android:drawable/sym_action_call" />
<View android:layout_width="match_parent" android:layout_height="3dip"/>
<ImageButton
android:id="@+id/imagebutton_chat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/imagebutton_item_bg"
android:src="@android:drawable/sym_action_chat" />
<View android:layout_width="match_parent" android:layout_height="3dip"/>
<ImageButton
android:id="@+id/imagebutton_email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/imagebutton_item_bg"
android:src="@android:drawable/sym_action_email" />
</LinearLayout>
Drawable按钮背景选择器imagebutton_item_bg.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="@android:color/holo_red_light" />
<item android:state_focused="true" android:drawable="@android:color/holo_red_light" />
<item android:state_enabled="true" android:drawable="@android:color/background_dark" />
</selector>
点击按钮提示的具体实现代码如下:import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.Toast;
public class MainActivity extends Activity {
private ImageButton imagebutton_call,imagebutton_chat,imagebutton_email;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imagebutton_call = (ImageButton) findViewById(R.id.imagebutton_call);
imagebutton_chat = (ImageButton) findViewById(R.id.imagebutton_chat);
imagebutton_email = (ImageButton) findViewById(R.id.imagebutton_email);
imagebutton_call.setOnClickListener(clickListener);
imagebutton_chat.setOnClickListener(clickListener);
imagebutton_email.setOnClickListener(clickListener);
}
private OnClickListener clickListener = new OnClickListener()
{
@Override
public void onClick(View v)
{
switch (v.getId())
{
case R.id.imagebutton_call:
Toast.makeText(MainActivity.this, "你点击了打电话ImageButton!", Toast.LENGTH_SHORT).show();
break;
case R.id.imagebutton_chat:
Toast.makeText(MainActivity.this, "你点击了打短信聊天ImageButton!", Toast.LENGTH_SHORT).show();
break;
case R.id.imagebutton_email:
Toast.makeText(MainActivity.this, "你点击了电子邮件ImageButton!", Toast.LENGTH_SHORT).show();
break;
}
}
};
}
具体的项目实现代码已经上传我的下载资源,大家可以去下载,谢谢支持!