喜马拉雅项目笔记
弹出播放列表
- 设置id
<ImageView
android:id="@+id/player_list"
android:layout_width="0dp"
android:layout_height="20dp"
android:layout_weight="1"
android:src="@drawable/selector_player_list" />
- 找到控件,设置监听,点击事件
private View mPlayListBtn = this.findViewById(R.id.player_list);
mPlayListBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//展示播放列表
mSobPopWindow.showAtLocation(v, Gravity.BOTTOM,0,0);
//处理一下背景,有点透明度
updateBgAlpha(0.8f);
}
});
- 点开之后可以和背景出现区分,且点击其他地方可以使点开的界面消失
private SobPopWindow mSobPopWindow = new SobPopWindow();
mPlayListBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//展示播放列表
mSobPopWindow.showAtLocation(v, Gravity.BOTTOM,0,0);
//处理一下背景,有点透明度
updateBgAlpha(0.8f);
}
});
mSobPopWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
@Override
public void onDismiss() {
//点击其他地方使点开的界面消失
updateBgAlpha(1.0f);
}
});
public void updateBgAlpha(float alpha) {
Window window = getWindow();
WindowManager.LayoutParams attributes = window.getAttributes();
attributes.alpha = alpha;
window.setAttributes(attributes);
}
- 创建一个selector_player_list.xml文件,用来使点开的界面上方出现圆角,用来刚才设置id的地方设置背景。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:topLeftRadius="20dp"
android:topRightRadius="20dp"/>
<solid android:color="@color/white"/>
</shape>
战胜对手,只是人生的赢家。
战胜自己,才是命运的强者。