准备两种大小一样的按钮图片,其区别只有颜色深浅。(p.s.CrystalButton是一个做按钮的软件,简单好用!),见下图:
step1:在activity_mode_select.xml中设置Button的属性,记得添加id
<Button android:id="@+id/b_gravity" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/b_gravity" />
step2:在ModeSelectActivity中的onCreat方法中为Button添加监听器,这里使用的是OnTouchListener,代码如下:
Button b_gravity; //重力感应按钮设置监听器,按下按钮时按钮变深,释放时按钮恢复并实现一定的功能,如跳转页面,弹出提示信息等,这里实现的功能是跳转到GravityMode界面 b_gravity=(Button)findViewById(R.id.b_gravity); b_gravity.setOnTouchListener(new OnTouchListener(){ public boolean onTouch(View v, MotionEvent event) { if(event.getAction()==MotionEvent.ACTION_DOWN){ b_gravity.setBackgroundResource(R.drawable.b_gravity_darker); } if(event.getAction()==MotionEvent.ACTION_UP){ b_gravity.setBackgroundResource(R.drawable.b_gravity); //这里实现页面的跳转 Intent intent=new Intent(); intent.setClass(ModeSelectActivity.this,GravityActivity.class); ModeSelectActivity.this.startActivity(intent); } return false; } });
其实,挺简单的,对吧~