博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Button 自定义图片,代码绘制样式,添加音效的方法
阅读量:7237 次
发布时间:2019-06-29

本文共 2239 字,大约阅读时间需要 7 分钟。

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);			}		});
源码下载:

你可能感兴趣的文章
AngularJs ngCsp、ngFocus、ngBlur、ngForm
查看>>
Android创建桌面快捷方式
查看>>
使用Configuration Manager配置软件清单
查看>>
SWIFT中计算两个日期间隔多少小时
查看>>
平台XXXX系统无响应故障报告
查看>>
Django 数据库ORM操作 - 单表的创建,增加,删除,更改和查询
查看>>
Memcache监控工具 -- memkeys
查看>>
a disk read error occurred
查看>>
Windows下完成端口移植Linux下的epoll
查看>>
Absolute Uninstaller是类似于标准的Windows添加/删除卸载工具
查看>>
Linux+shell管理员的好帮手--批量解压缩
查看>>
Windows Server 2008 R2 之十八WDS(部署服务)之二
查看>>
多模块项目的POM重构
查看>>
三、System Center Virtual Machine Manager 2012 添加VMware ESXi 5.0主机
查看>>
MDSF:模型驱动开发(MDD)介绍
查看>>
Oracle-压缩数据
查看>>
XenServer 6.5实战系列之五:XenCenter 6.5
查看>>
PXE方式安装Centos5详解
查看>>
气泡图在开源监控工具中的应用效果
查看>>
让Ubuntu和Android同时运行(Ubuntu on Android)
查看>>