Button自己在xml文件中绑定监听器
代码中写一个方法:
/**当用户点击按钮时,Android系统调用buttonListener(View)方法。 * 为了正确执行,这个方法必须是public并且仅接受一个View类型的参数 * @param v button传过来的view对象 * 需要注意的是这个方法必须符合三个条件: 1.public 2.返回void 3.只有一个参数View,这个View就是被点击的这个控件。 */ public void buttonListener(View v){ switch (v.getId()) { case R.id.my_button_id: Toast.makeText(getApplicationContext(), "button自己绑定一个触发函数", 0).show(); break; default: break; } }
自定义点击,按下的样式
button_selector.xml用代码来设定按钮的图片样式 activity中里:
Button styleBt = (Button)findViewById(R.id.style_button_id); styleBt.setBackgroundColor(Color.parseColor("#b9e3d9")); styleBt.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO 自动生成的方法存根 if(event.getAction()==MotionEvent.ACTION_DOWN){ //v.setBackgroundResource(R.drawable.bar_color); v.setBackgroundColor(Color.WHITE); } else if(event.getAction()==MotionEvent.ACTION_UP){ v.setBackgroundColor(Color.parseColor("#b9e3d9")); } return false; } });用shape画按钮 shape.xml
用style来设定样式
style_selector.xml
有音效的按钮
activity中写:
private SoundPool sp;//声明一个SoundPool private int music;//定义一个整型用load();来设置suondID
sp= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);//第一个参数为同时播放数据流的最大个数,第二数据流类型,第三为声音质量 music = sp.load(this, R.raw.click,1); //把你的声音素材放到res/raw里,第2个参数即为资源文件,第3个为音乐的优先级 Button musicBt = (Button)findViewById(R.id.music_button_id); musicBt.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub sp.play(music, 1, 1, 0, 0, 1); } });源码下载: