ImageButton是有图片的按钮。
那么有关其按动有按下改变的一种,效果很好看!
1、首先在layout中的xml中添加一个ImageButton控件
2、将两个不同的按钮(按下和没有按下的)放入draw中
3、右键添加xml 在下面选择selector 名字就起个Mybuton吧
4、写入代码 将按下和没有分别绑定 button_1是没有按下 buton_2是按下的
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/button_1" android:state_pressed="false"></item>
<item android:drawable="@drawable/button_2" android:state_pressed="true"></item>
</selector>
5、最后一行要加上他的背景为没有按下的 否则在看起来后面会有默认的imagebutton背景 很难看
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="100dp"
android:src="@drawable/mybutton"
android:background="@drawable/button_1"/>
6、然后就是MainActivity中的编写了
public class MainActivity extends Activity {
private ImageButton button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Init();
}
private void Init(){
button=(ImageButton)findViewById(R.id.imageButton1);
button.setOnClickListener(new MyOnClickListener());
}
class MyOnClickListener implements OnClickListener{
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, R.string.button, Toast.LENGTH_SHORT).show();
}
}