【达内课程】音乐播放器4.0(列表播放底部增加歌曲信息展示)

上一节实现了播放的功能,下面实现播放音乐时底部显示对应歌曲信息的功能。

【效果图】
在这里插入图片描述

【开发步骤】
1、xml 界面
2、当点击 ListView 中的 item 时,把播放列表和 position 存入 application
3、每当 service 开始播放音乐时,发送自定义广播
4、在Activity 中编写广播接收器接受该广播,获取当前正在播放的歌曲信息,更新界面(注意在 onCreate 及 onDestroy中注册以及取消注册)
5、更新 UI 时,我们需要通过 path 路径,获取 Bitmap

BitmapUtils.loadBitmap(String path,Callback){
   
	异步发送http请求
	调用 callback 回调方法 执行后续业务
}

按照开发步骤写代码:

主要布局中 activity_test.xml 中增加

<androidx.viewpager.widget.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#ffffff" />
<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:background="#2894FF"
        android:gravity="center_vertical"
        android:paddingLeft="10dp"
        android:paddingRight="10dp">

        <de.hdodenhof.circleimageview.CircleImageView
            android:id="@+id/img_music_thumb"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_marginRight="10dp"
            android:src="@mipmap/ic_launcher" />

        <TextView
            android:id="@+id/tv_music_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="歌名"
            android:textColor="@android:color/white" />

    </LinearLayout>

这里的圆形头像用的是 CircleImageView

需要在 build.gradle 中引入依赖

implementation 'de.hdodenhof:circleimageview:3.1.0'

在点击播放歌曲后,底部显示对应歌曲信息,需要知道当前播放的歌曲是哪一首,我们可以存歌曲列表和点击的 position 来确定歌曲,可以用Application 实现

创建 MusicApplication

public class MusicApplication extends Application {
   
    private List<MusicItem> musicList;
    private int position;
    public static<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值