当前位置:首页 > 安卓系统音乐播放器 - 图文
5.3.1 菜单界面
在Menu.Xml配置文件中,布局结构如下:
在程序中的Menu.Java中有List
List
seclect_items.add(\播放\
seclect_items.add(\详细\seclect_items.add(\新增\seclect_items.add(\移除\seclect_items.add(\全部移除\seclect_items.add(\设置\
然后通过ListView.setAdapter();方法将这些参数设置到界面中去,可以看到与界面显示效果相同!
该菜单每一行有一张图片和一个菜单选项(如图5.8)
图 5.8
ListAdapter继承一个BaseAdapter,实现里面的getView()方法,再对其进行扩展。 View getView(int position, View convertView, ViewGroup parent) {
convertView = inflater.inflate(R.layout.file_row, null);holder.text =
(TextView) convertView.findViewById(R.id.text);holder.icon = (ImageView) convertView.findViewById(R.id.image_Icon); }
convertView.setTag(holder);
ListAdapter每一行都是一个LineaLayout布局,水平放置一个图片一个String。这种算法的实现在前面已经讨论过,这里不再讨论。
5.3.2 菜单功能实现
菜单有6个功能:播放,详细,新增,移除,全部移除,设置。各功能都是通过鼠标点击或触屏触发事件。
播放功能:点击后事件触发,传入歌曲名字,让程序操作该名字进行播放。
详细功能:点击后事件触发,传入歌曲名字,跳转到下一界面,显示该歌曲的详细信息。 新增功能:点击后事件触发,进入到SDCard中,进行歌曲添加选择。 移除功能:点击后事件触发。从数据库中删除选中的歌曲。 全部移除:点击后事件触发,删除播放列表。 设置功能:点击后事件触发,进入到播放设置列表。
选择移除菜单选项时,出现(图5.9.1)的Dialog、选择全部移除菜单选项时,出现(图5.9.2)的Dialog
图 5.9.1 图 5.9.2
删除单首歌曲算法:是对数据库进行单项操作。通过歌曲名字删歌曲,算法如下: del_One(String musicName) {
ContentResolver cr = getContentResolver(); Uri uri = DBProvider.CONTENT_URI;
String where = \
String[] selectionArgs = { musicName }; cr.delete(uri, where, selectionArgs);
}
选择“是”后,执行代码:
Intent intent = new Intent(Menu.this,PlayListActivity.class);
startActivity(intent);声明一个Intent,并指明要跳转的界面类,然后启动
Intent。
5.4 播放设置界面
5.4.1 界面实现
图 5.10
配置文件setting.Xml布局结构如下:
最外层的LinearLayout里面嵌套多层LineaLayout,子LinearLayout里面嵌套着单选按钮RatioGroup 和开关按钮ToggleButton。RatioGroup 里面嵌套着3个RatioButton,即界面上显示的(单曲循环、随机播放、顺序播放)。
(1)播放模式
用的是一个组件RadioGroup,这个组件有单项选择的功能,里面有RadioButton项,多个RadioButton项只能同时选中一个,该 播放器播放模式有单曲循环,随机播放,顺序播放等功能。MediaPlayer有一个监听器,它监听着歌曲是否正在播放或者是否播放完成,当歌曲播放完成时,会触发方法OnCompletionListener(),在该方法里面可以处理歌曲播放完成后的操作。RadioGroup可以进行单项选择操作,如图(5.11)
图 5.11
通过RadioButton.isChecked(),如果返回true,刚该项被选中。 (2)歌词设置
歌词是否显示是一个开关按钮ToggleButton实现的,有ON和OFF状态,当为ON时,歌词显示,为OFF时,歌词关闭。如图(5.12):
图 5.12
ToogleButton同样有一个监听器,可以获得ToogleButton的不同状态。使用前对它进行实例化(ToggleButton) View.findViewById(R.id.ly_lrc);并且用ToggleButton.isChecked();获得开关状态。
播放模式状态和歌词显示状态的操作结果都将以一个标志,被写在一个配置文件中,这是关于Android的存储方式,将在后面主要介绍。
5.4.2 歌词显示实现
本播放器以歌词格式.Lrc的文件。我们查看.Lrc文件中的歌词格式为:
[00:16.18]呼吸着 你的香水味
即是以“时间+歌词”的格式存储。
下面将介绍如何将.Lrc中的歌词读取出来并存储在Android的配文件中 (1).xml配置文件的存储
共分享92篇相关文档