试着写一个音乐播放器的桌面控件,练习下前三篇的内容。
假定现在有一个 MusicService.class 来实现对音乐播放 的控制。我们需要做的是:写一个 app widget 包含当前音乐封面、歌曲名、歌手名、上下一曲、暂停播放的按钮。通过按钮发送对应的广播,然后 MusicService 接收广播消息实现对播放的控制。
分析:appwidget 监听桌面按钮,然后根据按钮的不同,发送不同的广播指令给 MusicService ,MusicService 收到指令后 按照指令的不同,实现不同的功能(如上下一曲、暂停播放等)并远程更新 appwidget 的显示(当前歌曲封面、歌曲名、歌手名、播放/暂停显示 等)。
步骤:
1. 在 layout 文件夹下创建 appwidght.xml 文件。在里面写入你的 app widght 布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/appwidget_image"
android:layout_width="60dip"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/appwidget_text_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:paddingTop="6dip"
android:layout_toRightOf="@id/appwidget_image"
android:text="music name"
/>
<TextView
android:id="@+id/appwidget_text_singer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:paddingBottom="6dip"
android:layout_toRightOf="@id/appwidget_image"
android:text="singer name"
/>
<Button
android:id="@+id/appwidget_button_next"
android:layout_width="50dip"
android:layout_height="50dip"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@drawable/next_w"
/>