修复BUG,更新UI
This commit is contained in:
parent
4f113c934c
commit
7b79ef3e5e
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="deploymentTargetDropDown">
|
||||
<value>
|
||||
<entry key="app">
|
||||
<State />
|
||||
</entry>
|
||||
</value>
|
||||
</component>
|
||||
</project>
|
|
@ -4,8 +4,9 @@
|
|||
<component name="GradleSettings">
|
||||
<option name="linkedExternalProjectsSettings">
|
||||
<GradleProjectSettings>
|
||||
<option name="testRunner" value="GRADLE" />
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
|
||||
<option name="gradleJvm" value="jbr-17" />
|
||||
<option name="modules">
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$" />
|
||||
|
|
|
@ -11,7 +11,7 @@ android {
|
|||
}
|
||||
}
|
||||
namespace 'com.muqingbfq'
|
||||
compileSdk 34
|
||||
compileSdk 33
|
||||
defaultConfig {
|
||||
applicationId "com.muqingbfq"
|
||||
minSdk 23
|
||||
|
@ -52,7 +52,9 @@ dependencies {
|
|||
implementation 'com.google.code.gson:gson:2.9.1'
|
||||
|
||||
implementation 'com.squareup.okhttp3:okhttp:4.11.0'
|
||||
//图片处理
|
||||
implementation 'com.github.bumptech.glide:glide:4.16.0'
|
||||
implementation "androidx.palette:palette:1.0.0"
|
||||
// 废弃的歌词组件
|
||||
// implementation 'com.github.wangchenyan:lrcview:2.2.1'
|
||||
implementation 'com.google.android.flexbox:flexbox:3.0.0'
|
||||
|
|
|
@ -3,7 +3,6 @@ package com.muqingbfq;
|
|||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.app.ActivityOptions;
|
||||
import android.content.Intent;
|
||||
|
@ -34,7 +33,6 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
|||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.muqingbfq.databinding.ActivitySearchBinding;
|
||||
import com.muqingbfq.fragment.search;
|
||||
import com.muqingbfq.mq.FragmentActivity;
|
||||
import com.muqingbfq.mq.gj;
|
||||
import com.muqingbfq.mq.wj;
|
||||
|
@ -45,6 +43,7 @@ import org.json.JSONArray;
|
|||
import org.json.JSONObject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
public class activity_search extends FragmentActivity<ActivitySearchBinding> {
|
||||
|
@ -58,8 +57,6 @@ public class activity_search extends FragmentActivity<ActivitySearchBinding> {
|
|||
view, "view");
|
||||
context.startActivity(new Intent(context, activity_search.class), options.toBundle());
|
||||
}
|
||||
|
||||
@SuppressLint("NotifyDataSetChanged")
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
@ -70,9 +67,6 @@ public class activity_search extends FragmentActivity<ActivitySearchBinding> {
|
|||
//设置是否换行
|
||||
manager.setFlexWrap(FlexWrap.WRAP);
|
||||
manager.setAlignItems(AlignItems.STRETCH);
|
||||
|
||||
// binding.searchRecycler.setBackgroundColor(gj.getbackgroundColor(this));
|
||||
|
||||
binding.listRecycler.setLayoutManager(manager);
|
||||
binding.listRecycler.setAdapter(new SearchRecordAdapter());
|
||||
|
||||
|
@ -90,19 +84,22 @@ public class activity_search extends FragmentActivity<ActivitySearchBinding> {
|
|||
.setTitle("删除")
|
||||
.setMessage("清空历史记录?")
|
||||
.setNegativeButton("取消", null)
|
||||
.setPositiveButton("确定", (dialogInterface, i) -> {
|
||||
.setPositiveButton("确定", (dialogInterface, ii) -> {
|
||||
int i = 0;
|
||||
Iterator<String> iterator = list.iterator();
|
||||
while (iterator.hasNext()){
|
||||
iterator.next();
|
||||
iterator.remove();
|
||||
binding.listRecycler.getAdapter().notifyItemRemoved(i++);
|
||||
}
|
||||
binding.xxbj1.setVisibility(View.GONE);
|
||||
wj.sc(wj.filesdri + wj.lishi_json);
|
||||
json_list.clear();
|
||||
binding.listRecycler.getAdapter().notifyDataSetChanged();
|
||||
findViewById(R.id.xxbj1).setVisibility(View.GONE);
|
||||
})
|
||||
.show());
|
||||
listPopupWindow = findViewById(R.id.search_recycler);
|
||||
//历史记录的LayoutManager
|
||||
|
||||
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, list);
|
||||
listPopupWindow.setAdapter(adapter);
|
||||
|
||||
//设置项点击监听
|
||||
listPopupWindow.setOnItemClickListener((adapterView, view, i, l) -> {
|
||||
view.clearFocus();
|
||||
|
@ -169,16 +166,24 @@ public class activity_search extends FragmentActivity<ActivitySearchBinding> {
|
|||
gj.ycjp(binding.editview.editText);
|
||||
}
|
||||
|
||||
@SuppressLint("NotifyDataSetChanged")
|
||||
private void addSearchRecord(String name) {
|
||||
try {
|
||||
if (!binding.xxbj1.isShown()) {
|
||||
binding.xxbj1.setVisibility(View.VISIBLE);
|
||||
}
|
||||
json_list.remove(name);
|
||||
json_list.add(0, name);
|
||||
int existingIndex = json_list.indexOf(name);
|
||||
if (existingIndex != -1) {
|
||||
// 交换两个元素的位置
|
||||
json_list.remove(name);
|
||||
json_list.add(0, name);
|
||||
binding.listRecycler.getAdapter().notifyItemMoved(existingIndex, 0);
|
||||
} else {
|
||||
// json_list.remove(name);
|
||||
json_list.add(0, name);
|
||||
binding.listRecycler.getAdapter().notifyItemInserted(0);
|
||||
}
|
||||
wj.xrwb(wj.filesdri + wj.lishi_json, new Gson().toJson(json_list));
|
||||
binding.listRecycler.getAdapter().notifyDataSetChanged();
|
||||
// binding.listRecycler.getAdapter().notifyDataSetChanged();
|
||||
} catch (Exception e) {
|
||||
gj.sc(e);
|
||||
}
|
||||
|
@ -211,9 +216,9 @@ public class activity_search extends FragmentActivity<ActivitySearchBinding> {
|
|||
public void start(String name) {
|
||||
dismiss();
|
||||
if (!TextUtils.isEmpty(name)) {
|
||||
search sea = (search) getSupportFragmentManager().findFragmentById(R.id.search_fragment);
|
||||
/* search sea = (search) getSupportFragmentManager().findFragmentById(R.id.search_fragment);
|
||||
binding.searchFragment.setVisibility(View.VISIBLE);
|
||||
sea.sx(name);
|
||||
sea.sx(name);*/
|
||||
addSearchRecord(name);
|
||||
}
|
||||
}
|
||||
|
@ -272,8 +277,8 @@ public class activity_search extends FragmentActivity<ActivitySearchBinding> {
|
|||
setTitle("删除此记录:" + keyword)
|
||||
.setPositiveButton("确定", (dialogInterface, i) -> {
|
||||
json_list.remove(keyword);
|
||||
notifyItemRemoved(holder.getAdapterPosition());
|
||||
wj.xrwb(wj.filesdri + wj.lishi_json, new Gson().toJson(json_list));
|
||||
notifyItemRemoved(position);
|
||||
})
|
||||
.setNegativeButton("取消", null)
|
||||
.show();
|
||||
|
|
|
@ -6,21 +6,33 @@ import android.animation.ObjectAnimator;
|
|||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.GradientDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.GestureDetector;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.animation.AlphaAnimation;
|
||||
import android.view.animation.Animation;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.core.graphics.ColorUtils;
|
||||
import androidx.palette.graphics.Palette;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.DataSource;
|
||||
import com.bumptech.glide.load.engine.GlideException;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.google.android.material.slider.Slider;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
|
@ -38,38 +50,40 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public class bfq extends AppCompatActivity<ActivityBfqBinding> {
|
||||
public class bfq extends AppCompatActivity<ActivityBfqBinding>
|
||||
implements GestureDetector.OnGestureListener {
|
||||
public String lrc;
|
||||
public MP3 mp3;
|
||||
public boolean isplay = true;
|
||||
GestureDetector gestureDetector;
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
private void setLrc() {
|
||||
if (!gj.isTablet(this)) {
|
||||
ViewGroup.LayoutParams layoutParams = binding.cardview.getLayoutParams();
|
||||
DisplayMetrics dm = getResources().getDisplayMetrics();
|
||||
main.k = dm.widthPixels;
|
||||
main.g = dm.heightPixels;
|
||||
layoutParams.height = main.k - 100;
|
||||
layoutParams.width = main.k - 100;
|
||||
layoutParams.height = (int) (main.k / 1.3f);
|
||||
layoutParams.width = (int) (main.k / 1.3f);
|
||||
binding.cardview.setLayoutParams(layoutParams);
|
||||
binding.fragmentBfq.setOnTouchListener((v, event) -> bfq.super.onTouchEvent(event));
|
||||
|
||||
binding.fragmentBfq.setOnClickListener((view) -> {
|
||||
if (binding.cardview.getVisibility() == View.VISIBLE) {
|
||||
binding.cardview.setVisibility(View.GONE);
|
||||
binding.lrcView.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
binding.cardview.setVisibility(View.VISIBLE);
|
||||
binding.lrcView.setVisibility(View.GONE);
|
||||
}
|
||||
});
|
||||
binding.lrcView.setOnTapListener((view, x, y) -> {
|
||||
if (binding.cardview.getVisibility() == View.VISIBLE) {
|
||||
binding.cardview.setVisibility(View.GONE);
|
||||
binding.lrcView.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
binding.cardview.setVisibility(View.VISIBLE);
|
||||
binding.lrcView.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
// 隐藏view2并显示view1的动画效果
|
||||
view.animate()
|
||||
.alpha(0.0f)
|
||||
.setDuration(500)
|
||||
.setListener(new AnimatorListenerAdapter() {
|
||||
@Override
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
view.setVisibility(View.GONE);
|
||||
binding.cardview.setVisibility(View.VISIBLE);
|
||||
binding.cardview.setAlpha(0.0f);
|
||||
binding.cardview.animate().alpha(1.0f).setDuration(500).setListener(null);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
binding.lrcView.
|
||||
|
@ -106,10 +120,8 @@ public class bfq extends AppCompatActivity<ActivityBfqBinding> {
|
|||
@SuppressLint("ClickableViewAccessibility")
|
||||
@Override
|
||||
protected void UI(@Nullable Bundle savedInstanceState) {
|
||||
// getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
|
||||
gestureDetector = new GestureDetector(this, this);
|
||||
setLrc();
|
||||
setSupportActionBar(binding.toolbar);
|
||||
|
||||
binding.kg.setOnClickListener(v -> {
|
||||
if (bfqkz.mt.isPlaying()) {
|
||||
bfqkz.mt.pause();
|
||||
|
@ -119,14 +131,14 @@ public class bfq extends AppCompatActivity<ActivityBfqBinding> {
|
|||
});
|
||||
binding.xyq.setOnClickListener(v -> bfq_an.xyq());
|
||||
binding.syq.setOnClickListener(v -> bfq_an.syq());
|
||||
|
||||
binding.image1.setOnClickListener(new toolbar());
|
||||
binding.image2.setOnClickListener(new toolbar());
|
||||
|
||||
binding.bfqListMp3.
|
||||
setOnClickListener(view1 -> com.muqingbfq.fragment.bflb_db.start(this));
|
||||
binding.control.setOnClickListener(new bfq_an.control(binding.control));
|
||||
|
||||
// binding.fragmentBfq.setOnTouchListener(new Touch());
|
||||
binding.toolbar.setOnTouchListener(new Touch());
|
||||
binding.getRoot().setOnTouchListener(new Touch());
|
||||
|
||||
binding.like.setOnClickListener(view1 -> {
|
||||
try {
|
||||
Gson gson = new Gson();
|
||||
|
@ -165,22 +177,18 @@ public class bfq extends AppCompatActivity<ActivityBfqBinding> {
|
|||
new thread().start();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
getMenuInflater().inflate(R.menu.bfq,menu);
|
||||
return super.onCreateOptionsMenu(menu);
|
||||
}
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||
if (item.getItemId()== R.id.fx && bfqkz.xm != null) {
|
||||
com.muqingbfq.mq.gj.fx(this,
|
||||
"音乐名称:" + bfqkz.xm.name +
|
||||
"\n 作者:" + bfqkz.xm.zz +
|
||||
"\n 链接:https://music.163.com/#/song?id=" + bfqkz.xm.id);
|
||||
} else if (item.getItemId() == android.R.id.home) {
|
||||
finish();
|
||||
private class toolbar implements View.OnClickListener {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (v.getId() == R.id.image1) {
|
||||
finish();
|
||||
} else if (v.getId() == R.id.image2) {
|
||||
com.muqingbfq.mq.gj.fx(v.getContext(),
|
||||
"音乐名称:" + mp3.name +
|
||||
"\n 作者:" + mp3.zz +
|
||||
"\n 链接:https://music.163.com/#/song?id=" + mp3.id);
|
||||
}
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
class thread extends Thread {
|
||||
|
@ -193,6 +201,9 @@ public class bfq extends AppCompatActivity<ActivityBfqBinding> {
|
|||
bfqkz.mp3(com.muqingbfq.api.url.hq(mp3));
|
||||
}
|
||||
}
|
||||
if (binding == null) {
|
||||
return;
|
||||
}
|
||||
main.handler.post(() -> {
|
||||
if (mp3 != null) {
|
||||
sx();
|
||||
|
@ -205,6 +216,22 @@ public class bfq extends AppCompatActivity<ActivityBfqBinding> {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onTouchEvent(MotionEvent event) {
|
||||
gestureDetector.onTouchEvent(event);
|
||||
if (event.getAction() == MotionEvent.ACTION_UP) {
|
||||
if (binding.getRoot().getRootView().getTranslationY() > (main.g / 2.0f)) {
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
ObjectAnimator animator = ObjectAnimator.ofFloat(binding.getRoot().getRootView()
|
||||
, "y", binding.getRoot().getRootView().getTranslationY(), 0);
|
||||
animator.setDuration(500);
|
||||
animator.start();
|
||||
}
|
||||
return super.onTouchEvent(event);
|
||||
}
|
||||
|
||||
public void sx() {
|
||||
setname(mp3.name);
|
||||
setzz(mp3.zz);
|
||||
|
@ -223,9 +250,6 @@ public class bfq extends AppCompatActivity<ActivityBfqBinding> {
|
|||
}
|
||||
|
||||
public void setzz(String str) {
|
||||
if (binding == null) {
|
||||
return;
|
||||
}
|
||||
binding.zz.setText(str);
|
||||
}
|
||||
|
||||
|
@ -236,61 +260,10 @@ public class bfq extends AppCompatActivity<ActivityBfqBinding> {
|
|||
binding.kg.setImageResource(a);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||
super.onConfigurationChanged(newConfig);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ActivityBfqBinding getViewBindingObject(LayoutInflater layoutInflater) {
|
||||
return ActivityBfqBinding.inflate(layoutInflater);
|
||||
}
|
||||
public class Touch implements View.OnTouchListener {
|
||||
private float downY;
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
@Override
|
||||
public boolean onTouch(View view, MotionEvent motionEvent) {
|
||||
|
||||
switch (motionEvent.getAction()) {
|
||||
case MotionEvent.ACTION_DOWN:
|
||||
downY = motionEvent.getRawY();
|
||||
break;
|
||||
case MotionEvent.ACTION_MOVE:
|
||||
//长按事件,可以移动
|
||||
float moveY = motionEvent.getRawY();
|
||||
//移动的距离
|
||||
float dy = moveY - downY;
|
||||
if (dy > main.g - main.g / 5.0) { // touchSlop是系统最小识别滑动距离,可以避免抖动
|
||||
// 在这里根据deltaY更新视图位置
|
||||
finish();
|
||||
return true;
|
||||
} else if (dy < 0) {
|
||||
return true;
|
||||
}
|
||||
binding.getRoot().setTranslationY(dy);
|
||||
|
||||
return true;
|
||||
case MotionEvent.ACTION_UP:
|
||||
if (binding.getRoot().getY() > main.g - main.g / 1.5) {
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
ObjectAnimator animator = ObjectAnimator.ofFloat(binding.getRoot()
|
||||
, "y", binding.getRoot().getY(), 0);
|
||||
animator.setDuration(300);
|
||||
animator.addListener(new AnimatorListenerAdapter() {
|
||||
@Override
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
binding.getRoot().setY(0);
|
||||
}
|
||||
});
|
||||
animator.start();
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public void setlike(boolean bool) {
|
||||
int color = R.color.text;
|
||||
|
@ -358,15 +331,60 @@ public class bfq extends AppCompatActivity<ActivityBfqBinding> {
|
|||
if (mp3file.hasId3v2Tag()) {
|
||||
ID3v2 id3v2Tag = mp3file.getId3v2Tag();
|
||||
byte[] albumImage = id3v2Tag.getAlbumImage();
|
||||
binding.cardview.setImage(BitmapFactory.
|
||||
decodeByteArray(albumImage, 0, albumImage.length));
|
||||
Bitmap bitmap = BitmapFactory.
|
||||
decodeByteArray(albumImage, 0, albumImage.length);
|
||||
binding.cardview.imageView.setImageBitmap(bitmap);
|
||||
color(bitmap);
|
||||
}
|
||||
return;
|
||||
} catch (Exception a) {
|
||||
gj.sc(getClass() + " yc:" + a);
|
||||
}
|
||||
}
|
||||
binding.cardview.setImage(bfqkz.xm.picurl);
|
||||
Glide.with(this)
|
||||
.asBitmap()
|
||||
.load(mp3.picurl)
|
||||
.apply(new RequestOptions()
|
||||
.placeholder(R.drawable.ic_launcher_foreground)
|
||||
.error(R.drawable.ic_launcher_foreground))
|
||||
.addListener(new RequestListener<Bitmap>() {
|
||||
@Override
|
||||
public boolean onLoadFailed(@Nullable GlideException e, @Nullable Object model, @NonNull Target<Bitmap> target, boolean isFirstResource) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onResourceReady(@NonNull Bitmap resource,
|
||||
@NonNull Object model, Target<Bitmap> target,
|
||||
@NonNull DataSource dataSource,
|
||||
boolean isFirstResource) {
|
||||
color(resource);
|
||||
|
||||
return false;
|
||||
}
|
||||
}).into(binding.cardview.imageView);
|
||||
|
||||
}
|
||||
|
||||
private void color(Bitmap bitmap) {
|
||||
Palette.from(bitmap)
|
||||
.maximumColorCount(10)
|
||||
.generate(palette -> {
|
||||
int lightMutedColor = palette.getLightMutedColor(Color.GRAY);
|
||||
GradientDrawable gradientDrawable = new GradientDrawable(
|
||||
GradientDrawable.Orientation.BOTTOM_TOP, // 渐变方向:从上到下
|
||||
new int[]{Color.BLACK, lightMutedColor} // 渐变颜色数组
|
||||
);
|
||||
// 设置渐变背景的形状为矩形
|
||||
gradientDrawable.setShape(GradientDrawable.RECTANGLE);
|
||||
// trackColorInactive
|
||||
// 创建颜色列表
|
||||
ColorStateList trackInactiveTintList = ColorStateList
|
||||
.valueOf(ColorUtils.blendARGB(lightMutedColor
|
||||
, Color.WHITE, 0.5f));
|
||||
binding.tdt.setTrackInactiveTintList(trackInactiveTintList);
|
||||
binding.getRoot().setBackground(gradientDrawable);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -384,13 +402,10 @@ public class bfq extends AppCompatActivity<ActivityBfqBinding> {
|
|||
}
|
||||
|
||||
public void setMax(int max) {
|
||||
if (max > 0) {
|
||||
binding.tdt.setValueTo(max);
|
||||
}
|
||||
binding.tdt.setValueTo(Math.max(0, max));
|
||||
}
|
||||
|
||||
public void Progress(int progress) {
|
||||
// gj.sc(progress);
|
||||
if (binding.tdt.getValueTo() < progress) {
|
||||
return;
|
||||
// 处理超出范围的情况
|
||||
|
@ -398,4 +413,83 @@ public class bfq extends AppCompatActivity<ActivityBfqBinding> {
|
|||
binding.tdt.setValue(progress);
|
||||
binding.lrcView.updateTime(progress);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onDown(@NonNull MotionEvent e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onShowPress(@NonNull MotionEvent e) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onSingleTapUp(@NonNull MotionEvent e) {
|
||||
float x = e.getX();
|
||||
float y = e.getY();
|
||||
// 判断是哪个视图被点击了
|
||||
if (isViewTouched(binding.fragmentBfq, x, y)) {
|
||||
switchViews(binding.cardview, binding.lrcView);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private void switchViews(final View view1, final View view2) {
|
||||
// 隐藏view1并显示view2的动画效果
|
||||
if (binding.cardview.getVisibility() == View.VISIBLE) {
|
||||
view1.animate()
|
||||
.alpha(0.0f)
|
||||
.setDuration(500)
|
||||
.setListener(new AnimatorListenerAdapter() {
|
||||
@Override
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
view1.setVisibility(View.GONE);
|
||||
view2.setVisibility(View.VISIBLE);
|
||||
view2.setAlpha(0.0f);
|
||||
view2.animate().alpha(1.0f).setDuration(500).setListener(null);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// 判断触摸点是否在视图范围内的辅助方法
|
||||
private boolean isViewTouched(View view, float x, float y) {
|
||||
int[] location = new int[2];
|
||||
view.getLocationOnScreen(location);
|
||||
int left = location[0];
|
||||
int top = location[1];
|
||||
int right = left + view.getWidth();
|
||||
int bottom = top + view.getHeight();
|
||||
return x >= left && x <= right && y >= top && y <= bottom;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onScroll(@NonNull MotionEvent e1, @NonNull MotionEvent e2,
|
||||
float distanceX, float distanceY) {
|
||||
if (binding.cardview.getVisibility() == View.GONE) {
|
||||
return false;
|
||||
}
|
||||
float y = binding.getRoot().getRootView().getTranslationY() - distanceY;
|
||||
y = Math.max(0, y);
|
||||
//移动的距离
|
||||
if (y > main.g - main.g / 5.0) {
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
binding.getRoot().getRootView().setTranslationY(y);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLongPress(@NonNull MotionEvent e) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onFling(@NonNull MotionEvent e1, @NonNull MotionEvent e2,
|
||||
float velocityX, float velocityY) {
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -104,7 +104,7 @@ public class fragment_clean extends FragmentActivity<ActivityCleanBinding> {
|
|||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
menu_deleat = menu.add("删除");
|
||||
menu_deleat.setIcon(R.drawable.deleat);
|
||||
menu_deleat.setIcon(R.drawable.delete);
|
||||
menu_deleat.setTitle("删除");
|
||||
menu_deleat.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
|
||||
menu_deleat.setVisible(false);
|
||||
|
|
|
@ -3,22 +3,21 @@ package com.muqingbfq.fragment;
|
|||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.app.ActivityOptions;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.muqingbfq.R;
|
||||
import com.muqingbfq.XM;
|
||||
|
@ -73,6 +72,14 @@ public class gd extends com.muqingbfq.mq.FragmentActivity<ActivityGdBinding> {
|
|||
new start(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||
if (item.getItemId() == android.R.id.home) {
|
||||
ActivityCompat.finishAfterTransition(this);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ActivityGdBinding getViewBindingObject(LayoutInflater layoutInflater) {
|
||||
return ActivityGdBinding.inflate(layoutInflater);
|
||||
|
@ -81,7 +88,6 @@ public class gd extends com.muqingbfq.mq.FragmentActivity<ActivityGdBinding> {
|
|||
@SuppressLint("NotifyDataSetChanged")
|
||||
class start extends Thread {
|
||||
String id;
|
||||
|
||||
public start(String id) {
|
||||
binding.recyclerview1Bar.setVisibility(View.VISIBLE);
|
||||
this.id = id;
|
||||
|
@ -139,7 +145,6 @@ public class gd extends com.muqingbfq.mq.FragmentActivity<ActivityGdBinding> {
|
|||
this.list = list;
|
||||
this.bool = bool;
|
||||
}
|
||||
@SuppressLint("NotifyDataSetChanged")
|
||||
public void setonlong(int position) {
|
||||
XM xm = list.get(position);
|
||||
gj.sc(xm.name);
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.muqingbfq.fragment;
|
|||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
|
@ -35,7 +36,6 @@ import com.muqingbfq.api.resource;
|
|||
import com.muqingbfq.bfqkz;
|
||||
import com.muqingbfq.databinding.FragmentWdBinding;
|
||||
import com.muqingbfq.databinding.ListGdBBinding;
|
||||
import com.muqingbfq.home;
|
||||
import com.muqingbfq.login.user_logs;
|
||||
import com.muqingbfq.login.visitor;
|
||||
import com.muqingbfq.main;
|
||||
|
@ -58,11 +58,11 @@ public class wode extends Fragment {
|
|||
public ImageView imageView;
|
||||
FragmentWdBinding binding;
|
||||
private final Object[][] lista = {
|
||||
{R.drawable.bf, "最近播放", "mp3_hc.json"},
|
||||
{R.drawable.mdimusicbox, "最近播放", "mp3_hc.json"},
|
||||
{R.drawable.download, "下载音乐", "mp3_xz.json"},
|
||||
{R.drawable.like, "喜欢音乐", "mp3_like.json"},
|
||||
{R.drawable.ic_launcher_foreground, "本地搜索", "cd.json"},
|
||||
{R.drawable.fuwuzhongxing, "更换接口", "API"},
|
||||
{R.drawable.mdialbum, "喜欢音乐", "mp3_like.json"},
|
||||
{R.drawable.filesearc, "本地搜索", "cd.json"},
|
||||
{R.drawable.api, "更换接口", "API"},
|
||||
{R.drawable.gd, "导入歌单", "gd"},
|
||||
{R.drawable.paihangbang, "排行榜", "排行榜"},
|
||||
{R.drawable.ic_launcher_foreground, "开发中", ""}
|
||||
|
@ -86,6 +86,7 @@ public class wode extends Fragment {
|
|||
name = binding.text1;
|
||||
binding.appbar.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
|
||||
boolean isCollapsed = false; // 标记是否处于折叠状态
|
||||
|
||||
@Override
|
||||
public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
|
||||
if (Math.abs(verticalOffset) >= appBarLayout.getTotalScrollRange()) {
|
||||
|
@ -358,6 +359,7 @@ public class wode extends Fragment {
|
|||
.error(R.drawable.ic_launcher_foreground)
|
||||
.into(binding.imageView);
|
||||
}
|
||||
|
||||
class baseadapter extends RecyclerView.Adapter<gd.VH> {
|
||||
public List<XM> list = new ArrayList<>();
|
||||
|
||||
|
@ -371,9 +373,7 @@ public class wode extends Fragment {
|
|||
@Override
|
||||
public void onBindViewHolder(@NonNull gd.VH holder, @SuppressLint("RecyclerView") int position) {
|
||||
XM xm = list.get(position);
|
||||
holder.itemView.setOnClickListener(v -> {
|
||||
mp3.start(getActivity(), new String[]{xm.id, xm.name}, v);
|
||||
});
|
||||
holder.itemView.setOnClickListener(v -> mp3.start(getActivity(), new String[]{xm.id, xm.name}, v));
|
||||
holder.itemView.setOnLongClickListener(v -> {
|
||||
String[] stringArray = {"下载歌单", "删除歌单"};
|
||||
new MaterialAlertDialogBuilder(getContext()).
|
||||
|
|
|
@ -0,0 +1,90 @@
|
|||
package com.muqingbfq.mq;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.LinearGradient;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.Shader;
|
||||
import android.renderscript.Allocation;
|
||||
import android.renderscript.Element;
|
||||
import android.renderscript.RenderScript;
|
||||
import android.renderscript.ScriptIntrinsicBlur;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
||||
import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.security.MessageDigest;
|
||||
|
||||
public class BlurGradientTransformation extends BitmapTransformation {
|
||||
private static final String ID = "com.muqingbfq.mq.BlurGradientTransformation";
|
||||
private static final byte[] ID_BYTES = ID.getBytes(StandardCharsets.UTF_8);
|
||||
Context context;
|
||||
public BlurGradientTransformation(Context context) {
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Bitmap transform(@NonNull BitmapPool pool, @NonNull Bitmap toTransform, int outWidth, int outHeight) {
|
||||
Bitmap blurredBitmap = blurBitmap(toTransform);
|
||||
|
||||
// 创建渐变遮罩层
|
||||
Bitmap maskBitmap = createGradientMask(outWidth, outHeight);
|
||||
|
||||
// 将原始图片和渐变遮罩层进行组合
|
||||
Bitmap resultBitmap = Bitmap.createBitmap(outWidth, outHeight, Bitmap.Config.ARGB_8888);
|
||||
Canvas canvas = new Canvas(resultBitmap);
|
||||
canvas.drawBitmap(toTransform, 0, 0, null);
|
||||
canvas.drawBitmap(blurredBitmap, 0, outHeight / 2.0f, null);
|
||||
canvas.drawBitmap(maskBitmap, 0, 0, null);
|
||||
|
||||
return resultBitmap;
|
||||
}
|
||||
|
||||
private static final int BLUR_RADIUS = 25;
|
||||
private static final float GRADIENT_HEIGHT_PERCENTAGE = 0.5f;
|
||||
private Bitmap blurBitmap(Bitmap bitmap) {
|
||||
// 进行高斯模糊处理
|
||||
RenderScript rs = RenderScript.create(context);
|
||||
ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
|
||||
Allocation input = Allocation.createFromBitmap(rs, bitmap);
|
||||
Allocation output = Allocation.createTyped(rs, input.getType());
|
||||
blurScript.setRadius(BLUR_RADIUS);
|
||||
blurScript.setInput(input);
|
||||
blurScript.forEach(output);
|
||||
output.copyTo(bitmap);
|
||||
return bitmap; // 这里需要替换成实际的高斯模糊处理方法
|
||||
}
|
||||
|
||||
private Bitmap createGradientMask(int width, int height) {
|
||||
// 创建渐变遮罩层
|
||||
// ...
|
||||
Bitmap maskBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
|
||||
Canvas canvas = new Canvas(maskBitmap);
|
||||
LinearGradient gradient = new LinearGradient(0, height *
|
||||
(1 - GRADIENT_HEIGHT_PERCENTAGE), 0, height,
|
||||
0xFFFFFFFF, 0x00FFFFFF, Shader.TileMode.CLAMP);
|
||||
Paint paint = new Paint();
|
||||
paint.setShader(gradient);
|
||||
canvas.drawRect(0, height * (1 - GRADIENT_HEIGHT_PERCENTAGE), width, height, paint);
|
||||
return null; // 这里需要替换成实际的渐变遮罩层创建方法
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDiskCacheKey(MessageDigest messageDigest) {
|
||||
messageDigest.update(ID_BYTES);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
return obj instanceof BlurGradientTransformation;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return ID.hashCode();
|
||||
}
|
||||
}
|
|
@ -16,7 +16,6 @@ import okhttp3.Response;
|
|||
|
||||
public class wl {
|
||||
public static String Cookie;
|
||||
|
||||
public static void setcookie(String cookie) {
|
||||
wl.Cookie = cookie;
|
||||
main.edit.putString("Cookie", cookie);
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package com.muqingbfq.view;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.ImageView;
|
||||
|
||||
|
@ -9,9 +8,6 @@ import com.bumptech.glide.Glide;
|
|||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.google.android.material.card.MaterialCardView;
|
||||
import com.muqingbfq.R;
|
||||
import com.muqingbfq.bfq;
|
||||
import com.muqingbfq.main;
|
||||
import com.muqingbfq.mq.gj;
|
||||
|
||||
public class CardImage extends MaterialCardView {
|
||||
public ImageView imageView;
|
||||
|
@ -39,11 +35,14 @@ public class CardImage extends MaterialCardView {
|
|||
|
||||
|
||||
public void setImage(Object bitmap) {
|
||||
Glide.with(this)
|
||||
.load(bitmap)
|
||||
// .apply(new RequestOptions().placeholder(R.drawable.icon))
|
||||
.error(R.drawable.ic_launcher_foreground)
|
||||
.into(imageView);
|
||||
try {
|
||||
Glide.with(this)
|
||||
.load(bitmap)
|
||||
.error(R.drawable.ic_launcher_foreground)
|
||||
.into(imageView);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setImageapply(Object bitmap) {
|
||||
|
|
29
app/src/main/java/com/muqingbfq/view/Toolbar.java
Normal file
29
app/src/main/java/com/muqingbfq/view/Toolbar.java
Normal file
|
@ -0,0 +1,29 @@
|
|||
package com.muqingbfq.view;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.MotionEvent;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.google.android.material.appbar.MaterialToolbar;
|
||||
|
||||
public class Toolbar extends MaterialToolbar {
|
||||
public Toolbar(@NonNull Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public Toolbar(@NonNull Context context, @Nullable AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
public Toolbar(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
}
|
||||
@Override
|
||||
public boolean onTouchEvent(MotionEvent event) {
|
||||
// 处理触摸事件逻辑
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -1,10 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="24dp"
|
||||
android:width="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:width="128dp"
|
||||
android:height="128dp">
|
||||
<path
|
||||
android:fillColor="@color/text"
|
||||
android:pathData="M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92 1.61,0 2.92,-1.31 2.92,-2.92s-1.31,-2.92 -2.92,-2.92z" />
|
||||
android:pathData="M18 16.08c-0.76 0 -1.44 0.3 -1.96 0.77L8.91 12.7c0.05 -0.23 0.09 -0.46 0.09 -0.7s-0.04 -0.47 -0.09 -0.7l7.05 -4.11c0.54 0.5 1.25 0.81 2.04 0.81c1.66 0 3 -1.34 3 -3s-1.34 -3 -3 -3s-3 1.34 -3 3c0 0.24 0.04 0.47 0.09 0.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0 -3 1.34 -3 3s1.34 3 3 3c0.79 0 1.5 -0.31 2.04 -0.81l7.12 4.15c-0.05 0.21 -0.08 0.43 -0.08 0.66c0 1.61 1.31 2.91 2.92 2.91s2.92 -1.3 2.92 -2.91s-1.31 -2.92 -2.92 -2.92M18 4c0.55 0 1 0.45 1 1s-0.45 1 -1 1s-1 -0.45 -1 -1s0.45 -1 1 -1M6 13c-0.55 0 -1 -0.45 -1 -1s0.45 -1 1 -1s1 0.45 1 1s-0.45 1 -1 1m12 7c-0.55 0 -1 -0.45 -1 -1s0.45 -1 1 -1s1 0.45 1 1s-0.45 1 -1 1"
|
||||
android:fillColor="#000000" />
|
||||
</vector>
|
||||
|
|
34
app/src/main/res/drawable/api.xml
Normal file
34
app/src/main/res/drawable/api.xml
Normal file
|
@ -0,0 +1,34 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="128dp"
|
||||
android:height="128dp"
|
||||
android:viewportWidth="48"
|
||||
android:viewportHeight="48">
|
||||
<path
|
||||
android:pathData="m37,22l-3,3l-11,-11l3,-3c1.5,-1.5 7,-4 11,0s1.5,9.5 0,11"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="4"
|
||||
android:fillColor="#666666"
|
||||
android:strokeColor="#666666"
|
||||
android:strokeLineCap="round"/>
|
||||
<path
|
||||
android:pathData="m42,6l-5,5"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="4"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#666666"
|
||||
android:strokeLineCap="round"/>
|
||||
<path
|
||||
android:pathData="m11,26l3,-3l11,11l-3,3c-1.5,1.5 -7,4 -11,0s-1.5,-9.5 0,-11"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="4"
|
||||
android:fillColor="#666666"
|
||||
android:strokeColor="#666666"
|
||||
android:strokeLineCap="round"/>
|
||||
<path
|
||||
android:pathData="m23,32l4,-4M6,42l5,-5m5,-12l4,-4"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="4"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#666666"
|
||||
android:strokeLineCap="round"/>
|
||||
</vector>
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="36dp"
|
||||
android:width="36dp"
|
||||
android:viewportWidth="1024"
|
||||
android:viewportHeight="1024">
|
||||
<path
|
||||
android:fillColor="@color/text"
|
||||
android:pathData="M332.4,813.5h545.2c17.8,0 31.3,-13.3 31.3,-31.3s-13.3,-31.3 -31.3,-31.3L332.4,750.8c-17.8,0 -31.3,13.3 -31.3,31.3 0,13.3 13.5,31.3 31.3,31.3zM332.4,545.2h545.2c22.3,0 35.8,-13.3 35.8,-31.3s-13.3,-31.3 -31.3,-31.3L332.4,482.5c-17.8,-4.5 -31.3,9 -31.3,31.3 0,18 13.5,31.3 31.3,31.3zM332.4,281.6h545.2c22.3,0 35.8,-17.8 35.8,-35.8 0,-17.8 -13.3,-31.3 -31.3,-31.3L332.4,214.4c-17.8,0 -31.3,13.3 -31.3,31.3 0,17.8 13.5,35.8 31.3,35.8zM158.1,826.8c26.8,0 49.2,-22.3 49.2,-49.2s-22.3,-49.2 -49.2,-49.2 -49.2,22.3 -49.2,49.2 22.3,49.2 49.2,49.2zM207.3,513.8c0,-26.8 -22.3,-49.2 -49.2,-49.2 -26.8,-4.5 -49.2,17.8 -49.2,49.2 0,26.8 22.3,49.2 49.2,49.2s49.2,-22.3 49.2,-49.2zM158.1,294.9c26.8,0 49.2,-22.3 49.2,-49.2s-22.3,-49.2 -49.2,-49.2 -49.2,22.3 -49.2,49.2 22.3,49.2 49.2,49.2zM158.1,294.9" />
|
||||
</vector>
|
|
@ -1,9 +1,10 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="36dp"
|
||||
android:height="36dp"
|
||||
android:viewportWidth="1024"
|
||||
android:viewportHeight="1024">
|
||||
<path
|
||||
android:pathData="M240.5,180.2l271.5,271.5 271.5,-271.5a42.7,42.7 0,0 1,56.3 -3.5l4,3.5a42.7,42.7 0,0 1,0 60.3l-271.5,271.5 271.5,271.5a42.7,42.7 0,0 1,-56.3 63.9l-4,-3.5 -271.5,-271.5 -271.5,271.5 -4,3.5a42.7,42.7 0,0 1,-56.3 -63.9l271.5,-271.5 -271.5,-271.5a42.7,42.7 0,0 1,60.3 -60.3z"
|
||||
android:fillColor="#000000"/>
|
||||
</vector>
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:width="128dp"
|
||||
android:height="128dp">
|
||||
<path
|
||||
android:fillColor="#CCCCCC"
|
||||
android:pathData="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z" />
|
||||
</vector>
|
|
@ -1,13 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="64dp"
|
||||
android:height="64dp"
|
||||
android:tint="@color/text"
|
||||
android:viewportWidth="1024"
|
||||
android:viewportHeight="1024">
|
||||
<path
|
||||
android:pathData="M840,288H688v-56c0,-40 -32,-72 -72,-72h-208C368,160 336,192 336,232V288h-152c-12.8,0 -24,11.2 -24,24s11.2,24 24,24h656c12.8,0 24,-11.2 24,-24s-11.2,-24 -24,-24zM384,288v-56c0,-12.8 11.2,-24 24,-24h208c12.8,0 24,11.2 24,24V288H384zM758.4,384c-12.8,0 -24,11.2 -24,24v363.2c0,24 -19.2,44.8 -44.8,44.8H332.8c-24,0 -44.8,-19.2 -44.8,-44.8V408c0,-12.8 -11.2,-24 -24,-24s-24,11.2 -24,24v363.2c0,51.2 41.6,92.8 92.8,92.8h358.4c51.2,0 92.8,-41.6 92.8,-92.8V408c-1.6,-12.8 -12.8,-24 -25.6,-24z"
|
||||
android:fillColor="#515151"/>
|
||||
<path
|
||||
android:pathData="M444.8,744v-336c0,-12.8 -11.2,-24 -24,-24s-24,11.2 -24,24v336c0,12.8 11.2,24 24,24s24,-11.2 24,-24zM627.2,744v-336c0,-12.8 -11.2,-24 -24,-24s-24,11.2 -24,24v336c0,12.8 11.2,24 24,24s24,-11.2 24,-24z"
|
||||
android:fillColor="#515151"/>
|
||||
</vector>
|
9
app/src/main/res/drawable/delete.xml
Normal file
9
app/src/main/res/drawable/delete.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:width="128dp"
|
||||
android:height="128dp">
|
||||
<path
|
||||
android:pathData="M6 19a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2V7H6zM8 9h8v10H8zm7.5 -5l-1 -1h-5l-1 1H5v2h14V4z"
|
||||
android:fillColor="#000000" />
|
||||
</vector>
|
|
@ -1,9 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="200dp"
|
||||
android:height="200dp"
|
||||
android:viewportWidth="1024"
|
||||
android:viewportHeight="1024">
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:width="128dp"
|
||||
android:height="128dp">
|
||||
<path
|
||||
android:pathData="M490.7,644.3L490.7,469.3h85.3v174.9l46.9,-46.9 59.7,59.7 -68.3,68.3h132.3c59.7,-8.5 106.7,-64 106.7,-128 0,-72.5 -55.5,-128 -128,-128 -17.1,0 -29.9,4.3 -42.7,8.5L682.7,469.3c0,-93.9 -76.8,-170.7 -170.7,-170.7s-170.7,76.8 -170.7,170.7c0,17.1 4.3,29.9 4.3,46.9 -8.5,-4.3 -17.1,-4.3 -25.6,-4.3C260.3,512 213.3,558.9 213.3,618.7S260.3,725.3 320,725.3h132.3L384,657.1l59.7,-59.7 46.9,46.9zM614.4,725.3l-81.1,81.1 -81.1,-81.1L405.3,725.3v85.3h-85.3C213.3,810.7 128,725.3 128,618.7c0,-85.3 55.5,-157.9 128,-183.5C273.1,311.5 379.7,213.3 512,213.3c110.9,0 209.1,72.5 243.2,170.7 102.4,12.8 183.5,102.4 183.5,213.3s-85.3,200.5 -192,213.3h-85.3v-85.3h-46.9z"
|
||||
android:fillColor="@color/text"/>
|
||||
android:pathData="M8 17v-2h8v2zm8 -7l-4 4l-4 -4h2.5V6h3v4zm-4 -8c5.5 0 10 4.5 10 10s-4.5 10 -10 10S2 17.5 2 12S6.5 2 12 2m0 2c-4.42 0 -8 3.58 -8 8s3.58 8 8 8s8 -3.58 8 -8s-3.58 -8 -8 -8"
|
||||
android:fillColor="#000000" />
|
||||
</vector>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="1024"
|
||||
android:viewportHeight="1024">
|
||||
<path
|
||||
android:pathData="M515.6,695.4l-364.3,-364.3c-20,-20.1 -52.6,-20.1 -72.6,-0 -20,20 -20,52.5 0,72.6L478,803c20,20 52.5,20 72.6,0 1.6,-1.6 2.8,-3.4 4.2,-5.1 0.3,-0.3 0.7,-0.5 1,-0.8l389.9,-389.9c19.6,-19.6 19.6,-51.3 0,-70.9s-51.3,-19.6 -70.9,0L515.6,695.4z"
|
||||
android:fillColor="@color/text"/>
|
||||
</vector>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:width="26dp"
|
||||
android:height="26dp">
|
||||
<path
|
||||
android:pathData="M7.41 8.58L12 13.17l4.59 -4.59L18 10l-6 6l-6 -6z"
|
||||
android:fillColor="#000000" />
|
||||
</vector>
|
9
app/src/main/res/drawable/filesearc.xml
Normal file
9
app/src/main/res/drawable/filesearc.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:width="128dp"
|
||||
android:height="128dp">
|
||||
<path
|
||||
android:pathData="M16.5 12c2.5 0 4.5 2 4.5 4.5c0 0.88 -0.25 1.71 -0.69 2.4l3.08 3.1L22 23.39l-3.12 -3.07c-0.69 0.43 -1.51 0.68 -2.38 0.68c-2.5 0 -4.5 -2 -4.5 -4.5s2 -4.5 4.5 -4.5m0 2a2.5 2.5 0 0 0 -2.5 2.5a2.5 2.5 0 0 0 2.5 2.5a2.5 2.5 0 0 0 2.5 -2.5a2.5 2.5 0 0 0 -2.5 -2.5M9 4l2 2h8a2 2 0 0 1 2 2v3.81A6.48 6.48 0 0 0 16.5 10a6.5 6.5 0 0 0 -6.5 6.5c0 1.29 0.37 2.5 1 3.5H3a2 2 0 0 1 -2 -2V6c0 -1.11 0.89 -2 2 -2z"
|
||||
android:fillColor="#000000" />
|
||||
</vector>
|
|
@ -1,9 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="36dp"
|
||||
android:height="36dp"
|
||||
android:viewportWidth="1024"
|
||||
android:viewportHeight="1024">
|
||||
<path
|
||||
android:pathData="M667.8,117.3C832.9,117.3 938.7,249.7 938.7,427.9c0,138.3 -125.1,290.5 -371.6,461.6a96.8,96.8 0,0 1,-110.2 0C210.4,718.4 85.3,566.1 85.3,427.9 85.3,249.7 191.1,117.3 356.2,117.3c59.6,0 100.1,20.8 155.8,68.1C567.7,138.2 608.2,117.3 667.8,117.3z"
|
||||
android:fillColor="@color/text"/>
|
||||
</vector>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:width="128dp"
|
||||
android:height="128dp">
|
||||
<path
|
||||
android:pathData="M12 21.35l-1.45 -1.32C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3c1.74 0 3.41 0.81 4.5 2.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5c0 3.77 -3.4 6.86 -8.55 11.53z"
|
||||
android:fillColor="#000000" />
|
||||
</vector>
|
9
app/src/main/res/drawable/mdialbum.xml
Normal file
9
app/src/main/res/drawable/mdialbum.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:width="128dp"
|
||||
android:height="128dp">
|
||||
<path
|
||||
android:pathData="M12 11a1 1 0 0 0 -1 1a1 1 0 0 0 1 1a1 1 0 0 0 1 -1a1 1 0 0 0 -1 -1m0 5.5c-2.5 0 -4.5 -2 -4.5 -4.5s2 -4.5 4.5 -4.5s4.5 2 4.5 4.5s-2 4.5 -4.5 4.5M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10 -10A10 10 0 0 0 12 2"
|
||||
android:fillColor="#000000" />
|
||||
</vector>
|
9
app/src/main/res/drawable/mdimusicbox.xml
Normal file
9
app/src/main/res/drawable/mdimusicbox.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:width="128dp"
|
||||
android:height="128dp">
|
||||
<path
|
||||
android:pathData="M16 9h-3v5.5a2.5 2.5 0 0 1 -2.5 2.5A2.5 2.5 0 0 1 8 14.5a2.5 2.5 0 0 1 2.5 -2.5c0.57 0 1.08 0.19 1.5 0.5V7h4m3 -4H5a2 2 0 0 0 -2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2 -2V5a2 2 0 0 0 -2 -2"
|
||||
android:fillColor="#000000" />
|
||||
</vector>
|
9
app/src/main/res/drawable/mdipause.xml
Normal file
9
app/src/main/res/drawable/mdipause.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:width="128dp"
|
||||
android:height="128dp">
|
||||
<path
|
||||
android:pathData="M14 19h4V5h-4M6 19h4V5H6z"
|
||||
android:fillColor="#000000" />
|
||||
</vector>
|
9
app/src/main/res/drawable/mdiplaycircle__1_.xml
Normal file
9
app/src/main/res/drawable/mdiplaycircle__1_.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:width="128dp"
|
||||
android:height="128dp">
|
||||
<path
|
||||
android:pathData="M10 16.5v-9l6 4.5M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10 -10A10 10 0 0 0 12 2"
|
||||
android:fillColor="#000000" />
|
||||
</vector>
|
7
app/src/main/res/drawable/mpbackground.xml
Normal file
7
app/src/main/res/drawable/mpbackground.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<gradient
|
||||
android:angle="60"
|
||||
android:endColor="#252525"
|
||||
android:startColor="#474242"
|
||||
android:type="linear" />
|
||||
</shape>
|
9
app/src/main/res/drawable/mplist.xml
Normal file
9
app/src/main/res/drawable/mplist.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:width="128dp"
|
||||
android:height="128dp">
|
||||
<path
|
||||
android:pathData="M21 19v-2H8v2zm0 -6v-2H8v2zM8 7h13V5H8zM4 5v2h2V5zM3 5a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1H4a1 1 0 0 1 -1 -1zm1 6v2h2v-2zm-1 0a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1H4a1 1 0 0 1 -1 -1zm1 6v2h2v-2zm-1 0a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1H4a1 1 0 0 1 -1 -1z"
|
||||
android:fillColor="#000000" />
|
||||
</vector>
|
|
@ -1,10 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="64dp"
|
||||
android:height="64dp"
|
||||
android:tint="@color/text"
|
||||
android:viewportWidth="1024"
|
||||
android:viewportHeight="1024">
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:width="128dp"
|
||||
android:height="128dp">
|
||||
<path
|
||||
android:pathData="M844.8,665.6c-6.4,-6.4 -16,-12.8 -25.6,-9.6 -19.2,0 -35.2,16 -35.2,35.2 0,9.6 6.4,19.2 12.8,25.6l41.6,41.6c-44.8,-6.4 -86.4,-22.4 -121.6,-51.2 -3.2,0 -3.2,-3.2 -6.4,-6.4L332.8,304C268.8,233.6 192,195.2 99.2,195.2c-19.2,0 -35.2,16 -35.2,35.2s16,32 35.2,32c73.6,0 134.4,32 182.4,86.4l384,400 6.4,6.4c48,38.4 108.8,64 172.8,70.4l-48,44.8c-9.6,6.4 -16,19.2 -16,28.8 0,19.2 19.2,35.2 38.4,32 9.6,0 19.2,-6.4 25.6,-12.8l99.2,-92.8c16,-16 16,-41.6 0,-57.6l-99.2,-102.4zM841.6,108.8c-12.8,-16 -32,-19.2 -48,-6.4 -9.6,6.4 -12.8,16 -12.8,25.6 0,12.8 3.2,22.4 16,28.8l41.6,41.6c-73.6,9.6 -140.8,38.4 -192,89.6l-115.2,118.4c-12.8,12.8 -12.8,32 0,44.8 6.4,6.4 16,9.6 25.6,9.6s19.2,-3.2 25.6,-9.6l112,-118.4c41.6,-38.4 92.8,-64 147.2,-70.4l-44.8,44.8c-6.4,6.4 -12.8,16 -12.8,25.6 0,19.2 16,35.2 32,35.2 9.6,0 19.2,-3.2 28.8,-9.6L950.4,256c12.8,-12.8 12.8,-35.2 0,-48l-108.8,-99.2m-438.4,448c-9.6,0 -19.2,3.2 -25.6,9.6l-118.4,121.6c-48,44.8 -96,67.2 -160,67.2L96,755.2c-19.2,0 -35.2,16 -35.2,35.2s16,32 35.2,32h3.2c83.2,0 147.2,-32 211.2,-86.4l121.6,-124.8c6.4,-6.4 9.6,-12.8 9.6,-22.4 0,-9.6 -3.2,-16 -9.6,-22.4 -9.6,-6.4 -19.2,-9.6 -28.8,-9.6z"
|
||||
android:fillColor="#2c2c2c"/>
|
||||
android:pathData="M14.83 13.41l-1.41 1.41l3.13 3.13L14.5 20H20v-5.5l-2.04 2.04zM14.5 4l2.04 2.04L4 18.59L5.41 20L17.96 7.46L20 9.5V4m-9.41 5.17L5.41 4L4 5.41l5.17 5.17z"
|
||||
android:fillColor="#000000" />
|
||||
</vector>
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="64dp"
|
||||
android:height="64dp"
|
||||
android:tint="@color/text"
|
||||
android:viewportWidth="1024"
|
||||
android:viewportHeight="1024">
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:width="128dp"
|
||||
android:height="128dp">
|
||||
<path
|
||||
android:pathData="M162.6,491.9c-52.6,0 -95.4,-42.8 -95.4,-95.4L67.2,180.2c0,-19.8 6,-38.7 17.4,-54.9 14.7,-20.8 36.5,-34.7 61.7,-39.1 25.1,-4.4 50.4,1.3 71.2,16l153.8,108.2c9,6.3 16.8,14.1 23.1,23.1 14.7,20.8 20.3,46.1 16,71.2 -4.4,25.1 -18.2,47 -39.1,61.7l-153.8,108.2c-16.2,11.4 -35.1,17.4 -54.9,17.4zM162.6,142.4c-2.2,0 -4.4,0.2 -6.6,0.6 -9.9,1.7 -18.6,7.2 -24.4,15.5 -4.5,6.4 -6.9,13.9 -6.9,21.7v216.4c0,20.8 16.9,37.8 37.8,37.8 7.8,0 15.3,-2.4 21.7,-6.9l153.8,-108.2c8.3,-5.8 13.7,-14.5 15.5,-24.4 1.7,-9.9 -0.5,-20 -6.3,-28.2a37.9,37.9 0,0 0,-9.1 -9.1l-153.8,-108.2c-6.4,-4.5 -13.9,-6.9 -21.6,-6.9zM927.4,920.8L96,920.8c-15.9,0 -28.8,-12.9 -28.8,-28.8s12.9,-28.8 28.8,-28.8h831.4c15.9,0 28.8,12.9 28.8,28.8s-12.9,28.8 -28.8,28.8zM928.8,654.9L96,654.9c-15.9,0 -28.8,-12.9 -28.8,-28.8s12.9,-28.8 28.8,-28.8h832.8c15.9,0 28.8,12.9 28.8,28.8s-12.9,28.8 -28.8,28.8zM923.6,153.8L569.7,153.8c-15.9,0 -28.8,-12.9 -28.8,-28.8s12.9,-28.8 28.8,-28.8L923.6,96.2c15.9,0 28.8,12.9 28.8,28.8s-12.9,28.8 -28.8,28.8zM923.6,389L569.7,389c-15.9,0 -28.8,-12.9 -28.8,-28.8s12.9,-28.8 28.8,-28.8L923.6,331.4c15.9,0 28.8,12.9 28.8,28.8s-12.9,28.8 -28.8,28.8z"
|
||||
android:fillColor="#616266"/>
|
||||
android:pathData="M17 17H7v-3l-4 4l4 4v-3h12v-6h-2M7 7h10v3l4 -4l-4 -4v3H5v6h2z"
|
||||
android:fillColor="#000000" />
|
||||
</vector>
|
||||
|
|
|
@ -1,13 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="64dp"
|
||||
android:height="64dp"
|
||||
android:tint="@color/text"
|
||||
android:viewportWidth="1024"
|
||||
android:viewportHeight="1024">
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:width="128dp"
|
||||
android:height="128dp">
|
||||
<path
|
||||
android:pathData="M773.6,203.8l-0.3,0.4a33.6,33.6 0,0 0,-20.3 -6.5c-19,0.8 -33.7,16.7 -33,35.8a33.8,33.8 0,0 0,15.6 26.8l-0.1,0.2a375.2,375.2 0,0 1,166.3 311.9c0,207 -168.4,375.5 -375.5,375.5 -27.8,0 -27.8,0 -54.3,-2.9 -90.5,-9.9 -152.6,-59 -155.5,-61.2a375.3,375.3 0,0 1,-165.6 -311.4c0,-201.4 159.5,-365.8 358.8,-374.6l-42,40.8 0.8,0.9a33.9,33.9 0,0 0,-15.3 29.2c0.8,19 16.7,33.8 35.7,33a33.8,33.8 0,0 0,26 -14.5l0.3,0.3 128.6,-125L515.7,34.1l-0.4,0.4a33.7,33.7 0,0 0,-26.3 -11.4c-18.9,0.8 -33.7,16.7 -33,35.7a33.9,33.9 0,0 0,13 25.2l45.2,45.3C275.2,135.7 82.6,331.7 82.6,572.3c0,147.6 73.1,285.1 193.2,366.1 3.1,2.6 77.6,62.2 188.8,74.3 29.4,3.2 31.1,3.3 61.8,3.3 244.7,0 443.7,-199.1 443.7,-443.7A443.4,443.4 0,0 0,773.6 203.8"
|
||||
android:fillColor="#2c2c2c"/>
|
||||
<path
|
||||
android:pathData="M542.1,400.8a33.3,33.3 0,0 0,-17.1 6.1l-0.2,-0.3 -106.8,69.7 0.2,0.3a34,34 0,0 0,-15.8 29.7c0.8,18.9 16.7,33.7 35.7,33a33.1,33.1 0,0 0,17.1 -6l0.2,0.3 54,-35.3v249.9h0c0,0.5 -0.2,0.9 -0.2,1.4a34.2,34.2 0,1 0,68.4 -1.4h0v-0.2c0,-0.4 0.2,-0.8 0.2,-1.2 0,-0.3 -0.2,-0.5 -0.2,-0.8V435.2c0,-0.5 0.2,-0.9 0.2,-1.3a34.4,34.4 0,0 0,-35.7 -33"
|
||||
android:fillColor="#2c2c2c"/>
|
||||
android:pathData="M13 15V9h-1l-2 1v1h1.5v4m5.5 2H7v-3l-4 4l4 4v-3h12v-6h-2M7 7h10v3l4 -4l-4 -4v3H5v6h2z"
|
||||
android:fillColor="#000000" />
|
||||
</vector>
|
||||
|
|
9
app/src/main/res/drawable/play.xml
Normal file
9
app/src/main/res/drawable/play.xml
Normal file
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="128dp"
|
||||
android:height="128dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M10,16.5v-9l6,4.5M12,2A10,10 0,0 0,2 12a10,10 0,0 0,10 10a10,10 0,0 0,10 -10A10,10 0,0 0,12 2"
|
||||
android:fillColor="#CCCCCC"/>
|
||||
</vector>
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- Progress color of the progress bar -->
|
||||
<item android:id="@android:id/progress">
|
||||
<clip>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="@color/text_cz" />
|
||||
</shape>
|
||||
</clip>
|
||||
</item>
|
||||
</layer-list>
|
|
@ -29,7 +29,7 @@
|
|||
android:textColor="@color/text"
|
||||
android:textSize="26sp" />
|
||||
|
||||
<TextView
|
||||
<com.muqingbfq.view.Text
|
||||
android:id="@+id/zz"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
@ -162,7 +162,7 @@
|
|||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:src="@drawable/cd"
|
||||
android:src="@drawable/mpbackground"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
|
|
@ -4,41 +4,47 @@
|
|||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?android:colorBackground"
|
||||
android:background="@drawable/mpbackground"
|
||||
android:fitsSystemWindows="true"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/toolbar"
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:navigationIcon="@drawable/end">
|
||||
|
||||
android:layout_marginTop="3dp"
|
||||
android:paddingHorizontal="10dp">
|
||||
<ImageView
|
||||
android:id="@+id/image1"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
app:tint="#F1F1F1"
|
||||
android:src="@drawable/end" />
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
|
||||
android:layout_weight="1">
|
||||
<com.muqingbfq.view.Text
|
||||
android:id="@+id/name"
|
||||
android:id="@+id/text1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:text="@string/name"
|
||||
android:textColor="@color/text"
|
||||
android:textSize="26sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/zz"
|
||||
android:visibility="visible"
|
||||
android:textColor="#F1F1F1"
|
||||
android:text="歌曲界面"
|
||||
android:textSize="26dp" />
|
||||
<com.muqingbfq.view.Text
|
||||
android:id="@+id/text2"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
android:maxLines="1"
|
||||
android:text="@string/zz"
|
||||
android:textSize="20sp" />
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone"/>
|
||||
</LinearLayout>
|
||||
</com.google.android.material.appbar.MaterialToolbar>
|
||||
<ImageView
|
||||
android:id="@+id/image2"
|
||||
android:layout_width="26dp"
|
||||
android:layout_height="26dp"
|
||||
app:tint="#F1F1F1"
|
||||
android:src="@drawable/abc_ic_menu_share_mtrl_alpha"/>
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/fragment_bfq"
|
||||
|
@ -46,6 +52,7 @@
|
|||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.muqingbfq.view.CardImage
|
||||
android:id="@+id/cardview"
|
||||
android:layout_width="256dp"
|
||||
|
@ -56,145 +63,176 @@
|
|||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<me.wcy.lrcview.LrcView
|
||||
android:id="@+id/lrcView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone"
|
||||
app:lrcTextSize="20sp"
|
||||
app:lrcNormalTextSize="16sp"
|
||||
app:lrcCurrentTextColor="@color/text"
|
||||
app:lrcNormalTextColor="@color/text_tm"
|
||||
app:lrcTimelineTextColor="@color/text"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:lrcCurrentTextColor="#EEEEEE"
|
||||
app:lrcNormalTextColor="#CCCCCC"
|
||||
app:lrcNormalTextSize="16sp"
|
||||
app:lrcTextSize="20sp"
|
||||
app:lrcTimelineTextColor="#7C7C7C" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/bj"
|
||||
android:paddingStart="6dp"
|
||||
android:paddingTop="6dp"
|
||||
android:paddingEnd="6dp"
|
||||
android:paddingBottom="26dp">
|
||||
android:paddingBottom="10dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/like"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:src="@drawable/like"
|
||||
app:layout_constraintBottom_toTopOf="@+id/linearLayout2"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:tint="@color/text"
|
||||
tools:ignore="ContentDescription" />
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
app:tint="#CCCCCC"
|
||||
app:layout_constraintBottom_toTopOf="@id/tdt"
|
||||
app:layout_constraintEnd_toEndOf="parent">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.muqingbfq.view.Text
|
||||
android:id="@+id/name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:text="@string/name"
|
||||
android:textStyle="bold"
|
||||
android:textColor="#CCCCCC"
|
||||
android:textSize="26sp" />
|
||||
|
||||
<com.muqingbfq.view.Text
|
||||
android:id="@+id/zz"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:text="@string/zz"
|
||||
android:textColor="#CCCCCC"
|
||||
android:textSize="20sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/like"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:src="@drawable/like"
|
||||
app:tint="#CCCCCC"
|
||||
tools:ignore="ContentDescription" />
|
||||
</LinearLayout>
|
||||
|
||||
<com.google.android.flexbox.FlexboxLayout
|
||||
android:id="@+id/linearLayout3"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:orientation="horizontal"
|
||||
app:alignItems="center"
|
||||
app:flexDirection="row"
|
||||
app:justifyContent="space_around"
|
||||
app:layout_constraintBottom_toTopOf="@+id/download"
|
||||
tools:ignore="MissingConstraints"
|
||||
tools:layout_editor_absoluteX="6dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/control"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:src="@drawable/mt_sx"
|
||||
app:tint="#CCCCCC"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/syq"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:src="@drawable/syq"
|
||||
app:tint="#CCCCCC"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/kg"
|
||||
android:layout_width="46dp"
|
||||
android:layout_height="46dp"
|
||||
android:background="?selectableItemBackgroundBorderless"
|
||||
android:src="@drawable/zt"
|
||||
app:tint="#CCCCCC"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/xyq"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:src="@drawable/xyq"
|
||||
app:tint="#CCCCCC"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/bfq_list_mp3"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:src="@drawable/mplist"
|
||||
app:tint="#CCCCCC"
|
||||
tools:ignore="ContentDescription" />
|
||||
</com.google.android.flexbox.FlexboxLayout>
|
||||
|
||||
<com.google.android.material.slider.Slider
|
||||
android:id="@+id/tdt"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:labelBehavior="gone"
|
||||
app:layout_constraintBottom_toTopOf="@id/time_a"
|
||||
app:thumbColor="#E6E6E6"
|
||||
app:trackColorActive="#CCCCCC"
|
||||
tools:ignore="SpeakableTextPresentCheck" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/time_a"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:text="@string/_00_00"
|
||||
app:layout_constraintBottom_toTopOf="@id/linearLayout3"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/time_b"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="@string/_00_00"
|
||||
app:layout_constraintBottom_toTopOf="@id/linearLayout3"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/download"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
app:tint="#CCCCCC"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:src="@drawable/download"
|
||||
app:layout_constraintBottom_toTopOf="@+id/linearLayout2"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:tint="@color/text"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/control"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:src="@drawable/mt_sx"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/syq"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:src="@drawable/syq"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/kg"
|
||||
app:layout_constraintEnd_toStartOf="@+id/kg"
|
||||
app:layout_constraintTop_toTopOf="@+id/kg"
|
||||
app:layout_constraintVertical_bias="0.5"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/kg"
|
||||
android:layout_width="46dp"
|
||||
android:layout_height="46dp"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:src="@drawable/zt"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/control"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/xyq"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:importantForAccessibility="no"
|
||||
android:src="@drawable/xyq"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/kg"
|
||||
app:layout_constraintStart_toEndOf="@+id/kg"
|
||||
app:layout_constraintTop_toTopOf="@+id/kg"
|
||||
app:layout_constraintVertical_bias="0.5" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/bfq_list_mp3"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:src="@drawable/cd"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/linearLayout2"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintBottom_toTopOf="@+id/kg"
|
||||
tools:layout_editor_absoluteX="20dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/time_a"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/_00_00"
|
||||
android:textSize="20sp" />
|
||||
|
||||
<com.google.android.material.slider.Slider
|
||||
android:id="@+id/tdt"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
app:labelBehavior="gone"
|
||||
app:thumbColor="@color/thumbColor"
|
||||
app:trackColorActive="@color/thumbColor"
|
||||
tools:ignore="SpeakableTextPresentCheck" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/time_b"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/_00_00"
|
||||
android:textSize="20sp" />
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</LinearLayout>
|
|
@ -14,8 +14,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="6dp"
|
||||
android:indeterminate="false"
|
||||
android:max="100"
|
||||
android:progressDrawable="@drawable/progress_bar_horizontal" />
|
||||
android:max="100" />
|
||||
<WebView
|
||||
android:id="@+id/webview"
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
android:layout_marginEnd="16dp"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/deleat"
|
||||
android:src="@drawable/deleat" />
|
||||
android:src="@drawable/delete" />
|
||||
</LinearLayout>
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/list_recycler"
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
@ -14,10 +14,10 @@
|
|||
<com.google.android.material.bottomsheet.BottomSheetDragHandleView
|
||||
android:id="@+id/bottomSheetDragHandleView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:layout_height="wrap_content" />
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView"
|
||||
|
@ -27,7 +27,6 @@
|
|||
android:text="@string/bflb"
|
||||
android:textColor="@color/text"
|
||||
android:textSize="20sp"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/bottomSheetDragHandleView"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
@ -38,17 +37,18 @@
|
|||
android:layout_height="36dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:contentDescription="@null"
|
||||
android:src="@drawable/deleat"
|
||||
android:src="@drawable/delete"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:tint="@color/text" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/lb"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||
android:layout_marginHorizontal="6dp"
|
||||
android:layout_marginBottom="6dp"/>
|
||||
android:layout_marginBottom="6dp"
|
||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
|
||||
</LinearLayout>
|
|
@ -53,7 +53,7 @@
|
|||
android:layout_height="30dp"
|
||||
android:layout_margin="3dp"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:src="@drawable/cd"
|
||||
android:src="@drawable/mplist"
|
||||
app:tint="@color/text"
|
||||
android:contentDescription="@string/nullPlaylists" />
|
||||
</LinearLayout>
|
||||
|
|
|
@ -3,16 +3,18 @@
|
|||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center">
|
||||
<ImageView
|
||||
android:id="@+id/image"
|
||||
android:layout_width="56dp"
|
||||
android:layout_height="56dp"
|
||||
android:background="@null"
|
||||
android:src="@drawable/ic_launcher_foreground"
|
||||
android:padding="6dp"
|
||||
android:scaleType="fitXY"
|
||||
app:tint="@color/text"
|
||||
android:transitionName="view"
|
||||
tools:ignore="ContentDescription" />
|
||||
<TextView
|
||||
android:id="@+id/text1"
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
android:id="@+id/item_sc"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:icon="@drawable/deleat"
|
||||
android:icon="@drawable/delete"
|
||||
android:title="@string/deleat" />
|
||||
</menu>
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
<item
|
||||
android:id="@+id/c"
|
||||
android:icon="@drawable/deleat"
|
||||
android:icon="@drawable/delete"
|
||||
android:title="@string/chucunqingli" />
|
||||
|
||||
<item
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
<item name="windowNoTitle">true</item>
|
||||
<!--使用动画-->
|
||||
<item name="android:windowContentTransitions">true</item>
|
||||
|
||||
<!-- 添加主题属性以启用沉浸式状态栏 -->
|
||||
<item name="android:windowTranslucentStatus">true</item>
|
||||
|
||||
|
|
|
@ -543,10 +543,12 @@ public class LrcView extends View {
|
|||
* @param y 歌词中心 Y 坐标
|
||||
*/
|
||||
private void drawText(Canvas canvas, StaticLayout staticLayout, float y) {
|
||||
canvas.save();
|
||||
canvas.translate(mLrcPadding, y - (staticLayout.getHeight() >> 1));
|
||||
staticLayout.draw(canvas);
|
||||
canvas.restore();
|
||||
if (staticLayout != null) {
|
||||
canvas.save();
|
||||
canvas.translate(mLrcPadding, y - (staticLayout.getHeight() >> 1));
|
||||
staticLayout.draw(canvas);
|
||||
canvas.restore();
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
|
|
Loading…
Reference in New Issue
Block a user