From e46cd260db18eda837920251078ea0de17b8e633 Mon Sep 17 00:00:00 2001 From: lihongwei Date: Wed, 18 Sep 2024 18:11:26 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 9 +++ .../player/ui/activity/ASplashActivity.java | 60 +++++++++++++++ app/src/main/res/drawable/seek_bar_color.xml | 22 ++++++ app/src/main/res/layout/activity_asplash.xml | 72 ++++++++++++++++++ .../main/res/mipmap-xxxhdpi/launch_icon.png | Bin 0 -> 27653 bytes app/src/main/res/values/strings.xml | 2 + 6 files changed, 165 insertions(+) create mode 100644 app/src/main/java/com/hi/music/player/ui/activity/ASplashActivity.java create mode 100644 app/src/main/res/drawable/seek_bar_color.xml create mode 100644 app/src/main/res/layout/activity_asplash.xml create mode 100644 app/src/main/res/mipmap-xxxhdpi/launch_icon.png diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 43b9ffd..2cee6c7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -14,6 +14,15 @@ android:supportsRtl="true" android:theme="@style/Theme.MusicApp" tools:targetApi="31"> + + + + + + + diff --git a/app/src/main/java/com/hi/music/player/ui/activity/ASplashActivity.java b/app/src/main/java/com/hi/music/player/ui/activity/ASplashActivity.java new file mode 100644 index 0000000..5be0c0d --- /dev/null +++ b/app/src/main/java/com/hi/music/player/ui/activity/ASplashActivity.java @@ -0,0 +1,60 @@ +package com.hi.music.player.ui.activity; + +import android.content.Intent; +import android.os.CountDownTimer; + +import com.hi.music.player.databinding.ActivityAsplashBinding; + +public class ASplashActivity extends BaseActivity { + + private static final int SPLASH_TIME_OUT = 1500; + private CountDownTimer countDownTimer; + + @Override + protected ActivityAsplashBinding getViewBinding() { + return ActivityAsplashBinding.inflate(getLayoutInflater()); + } + + @Override + protected void onCreateInit() { + + intData(); + + } + + @Override + public boolean isFullScreen() { + return true; + } + + @Override + public boolean statusBarLight() { + return false; + } + + public void intData(){ + + countDownTimer = new CountDownTimer(SPLASH_TIME_OUT, 100) { + + @Override + public void onTick(long millisUntilFinished) { + + float v = 100 - (float) millisUntilFinished / SPLASH_TIME_OUT * 100; + int v1 = (int) v; + vb.progressBar.setProgress(v1); + + } + + @Override + public void onFinish() { + vb.progressBar.setProgress(100); + Intent intent = new Intent(ASplashActivity.this, HomeActivity.class); + startActivity(intent); + finish(); + } + }; + + countDownTimer.start(); + + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/seek_bar_color.xml b/app/src/main/res/drawable/seek_bar_color.xml new file mode 100644 index 0000000..4ce33bb --- /dev/null +++ b/app/src/main/res/drawable/seek_bar_color.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_asplash.xml b/app/src/main/res/layout/activity_asplash.xml new file mode 100644 index 0000000..8649154 --- /dev/null +++ b/app/src/main/res/layout/activity_asplash.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-xxxhdpi/launch_icon.png b/app/src/main/res/mipmap-xxxhdpi/launch_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..425ae9eca932e791d23eee4cd79f8fb691ead00b GIT binary patch literal 27653 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 B0_^|* literal 0 HcmV?d00001 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 35c0625..453dbaa 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -9,4 +9,6 @@ New Releases Musicoo Profile + Listen Music Anytime + Resource Loading... \ No newline at end of file From c61e8ce435110550768185cd300d30b70144ceaf Mon Sep 17 00:00:00 2001 From: lihongwei Date: Wed, 18 Sep 2024 18:12:02 +0800 Subject: [PATCH 2/5] =?UTF-8?q?Revert=20"=E6=B7=BB=E5=8A=A0=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E5=90=AF=E5=8A=A8=E9=A1=B5"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit e46cd260db18eda837920251078ea0de17b8e633. --- app/src/main/AndroidManifest.xml | 9 --- .../player/ui/activity/ASplashActivity.java | 60 --------------- app/src/main/res/drawable/seek_bar_color.xml | 22 ------ app/src/main/res/layout/activity_asplash.xml | 72 ------------------ .../main/res/mipmap-xxxhdpi/launch_icon.png | Bin 27653 -> 0 bytes app/src/main/res/values/strings.xml | 2 - 6 files changed, 165 deletions(-) delete mode 100644 app/src/main/java/com/hi/music/player/ui/activity/ASplashActivity.java delete mode 100644 app/src/main/res/drawable/seek_bar_color.xml delete mode 100644 app/src/main/res/layout/activity_asplash.xml delete mode 100644 app/src/main/res/mipmap-xxxhdpi/launch_icon.png diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2cee6c7..43b9ffd 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -14,15 +14,6 @@ android:supportsRtl="true" android:theme="@style/Theme.MusicApp" tools:targetApi="31"> - - - - - - - diff --git a/app/src/main/java/com/hi/music/player/ui/activity/ASplashActivity.java b/app/src/main/java/com/hi/music/player/ui/activity/ASplashActivity.java deleted file mode 100644 index 5be0c0d..0000000 --- a/app/src/main/java/com/hi/music/player/ui/activity/ASplashActivity.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.hi.music.player.ui.activity; - -import android.content.Intent; -import android.os.CountDownTimer; - -import com.hi.music.player.databinding.ActivityAsplashBinding; - -public class ASplashActivity extends BaseActivity { - - private static final int SPLASH_TIME_OUT = 1500; - private CountDownTimer countDownTimer; - - @Override - protected ActivityAsplashBinding getViewBinding() { - return ActivityAsplashBinding.inflate(getLayoutInflater()); - } - - @Override - protected void onCreateInit() { - - intData(); - - } - - @Override - public boolean isFullScreen() { - return true; - } - - @Override - public boolean statusBarLight() { - return false; - } - - public void intData(){ - - countDownTimer = new CountDownTimer(SPLASH_TIME_OUT, 100) { - - @Override - public void onTick(long millisUntilFinished) { - - float v = 100 - (float) millisUntilFinished / SPLASH_TIME_OUT * 100; - int v1 = (int) v; - vb.progressBar.setProgress(v1); - - } - - @Override - public void onFinish() { - vb.progressBar.setProgress(100); - Intent intent = new Intent(ASplashActivity.this, HomeActivity.class); - startActivity(intent); - finish(); - } - }; - - countDownTimer.start(); - - } -} \ No newline at end of file diff --git a/app/src/main/res/drawable/seek_bar_color.xml b/app/src/main/res/drawable/seek_bar_color.xml deleted file mode 100644 index 4ce33bb..0000000 --- a/app/src/main/res/drawable/seek_bar_color.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/activity_asplash.xml b/app/src/main/res/layout/activity_asplash.xml deleted file mode 100644 index 8649154..0000000 --- a/app/src/main/res/layout/activity_asplash.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/mipmap-xxxhdpi/launch_icon.png b/app/src/main/res/mipmap-xxxhdpi/launch_icon.png deleted file mode 100644 index 425ae9eca932e791d23eee4cd79f8fb691ead00b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27653 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 B0_^|* diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 453dbaa..35c0625 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -9,6 +9,4 @@ New Releases Musicoo Profile - Listen Music Anytime - Resource Loading... \ No newline at end of file From 6b83861ba51bb5db3619a58e05241d67cd1bd0dc Mon Sep 17 00:00:00 2001 From: lihongwei Date: Wed, 18 Sep 2024 18:25:36 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 5 +- .../player/ui/activity/AsplashActivity.java | 60 +++++++++++++++ app/src/main/res/drawable/seek_bar_color.xml | 21 +++++ app/src/main/res/layout/activity_asplash.xml | 72 ++++++++++++++++++ .../main/res/mipmap-xxxhdpi/launch_icon.png | Bin 0 -> 27653 bytes app/src/main/res/values/strings.xml | 2 + 6 files changed, 159 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/com/hi/music/player/ui/activity/AsplashActivity.java create mode 100644 app/src/main/res/drawable/seek_bar_color.xml create mode 100644 app/src/main/res/layout/activity_asplash.xml create mode 100644 app/src/main/res/mipmap-xxxhdpi/launch_icon.png diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 43b9ffd..53bc04f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -14,11 +14,14 @@ android:supportsRtl="true" android:theme="@style/Theme.MusicApp" tools:targetApi="31"> + diff --git a/app/src/main/java/com/hi/music/player/ui/activity/AsplashActivity.java b/app/src/main/java/com/hi/music/player/ui/activity/AsplashActivity.java new file mode 100644 index 0000000..87ff526 --- /dev/null +++ b/app/src/main/java/com/hi/music/player/ui/activity/AsplashActivity.java @@ -0,0 +1,60 @@ +package com.hi.music.player.ui.activity; + +import android.content.Intent; +import android.os.CountDownTimer; + +import com.hi.music.player.databinding.ActivityAsplashBinding; + +public class AsplashActivity extends BaseActivity { + + private static final int SPLASH_TIME_OUT = 1500; + private CountDownTimer countDownTimer; + + @Override + protected ActivityAsplashBinding getViewBinding() { + return ActivityAsplashBinding.inflate(getLayoutInflater()); + } + + @Override + protected void onCreateInit() { + + intData(); + + } + + @Override + public boolean isFullScreen() { + return true; + } + + @Override + public boolean statusBarLight() { + return false; + } + + public void intData(){ + + countDownTimer = new CountDownTimer(SPLASH_TIME_OUT, 100) { + + @Override + public void onTick(long millisUntilFinished) { + + float v = 100 - (float) millisUntilFinished / SPLASH_TIME_OUT * 100; + int v1 = (int) v; + vb.progressBar.setProgress(v1); + + } + + @Override + public void onFinish() { + vb.progressBar.setProgress(100); + Intent intent = new Intent(AsplashActivity.this, HomeActivity.class); + startActivity(intent); + finish(); + } + }; + + countDownTimer.start(); + + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/seek_bar_color.xml b/app/src/main/res/drawable/seek_bar_color.xml new file mode 100644 index 0000000..5af9536 --- /dev/null +++ b/app/src/main/res/drawable/seek_bar_color.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_asplash.xml b/app/src/main/res/layout/activity_asplash.xml new file mode 100644 index 0000000..f6aeb60 --- /dev/null +++ b/app/src/main/res/layout/activity_asplash.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-xxxhdpi/launch_icon.png b/app/src/main/res/mipmap-xxxhdpi/launch_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..425ae9eca932e791d23eee4cd79f8fb691ead00b GIT binary patch literal 27653 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 B0_^|* literal 0 HcmV?d00001 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 35c0625..453dbaa 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -9,4 +9,6 @@ New Releases Musicoo Profile + Listen Music Anytime + Resource Loading... \ No newline at end of file From 94016c9dfa766a6f6f8f1e96a0485231bc4a7800 Mon Sep 17 00:00:00 2001 From: lihongwei Date: Thu, 19 Sep 2024 16:55:37 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0A=E9=9D=A2=E4=B8=BB?= =?UTF-8?q?=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 5 +- .../player/adapter/AHomeViewPagerAdapter.java | 33 +++++ .../player/ui/activity/AHomeActivity.java | 99 +++++++++++++++ .../player/ui/activity/AsplashActivity.java | 4 +- .../player/ui/fragmnt/AHomeFragment.java | 66 ++++++++++ .../player/ui/fragmnt/AImportFragment.java | 66 ++++++++++ .../a_rounded_rectangle_tab_layout.xml | 22 ++++ .../drawable/circular_progress_drawable.xml | 18 +++ app/src/main/res/drawable/clock.xml | 33 +++++ app/src/main/res/drawable/import_select.xml | 15 +++ app/src/main/res/drawable/import_unselect.xml | 15 +++ app/src/main/res/drawable/pause.xml | 18 +++ app/src/main/res/layout/activity_ahome.xml | 118 ++++++++++++++++++ app/src/main/res/layout/activity_asplash.xml | 2 +- app/src/main/res/layout/fragment_a_home.xml | 14 +++ app/src/main/res/layout/fragment_a_import.xml | 14 +++ app/src/main/res/mipmap-xxxhdpi/cover.png | Bin 0 -> 32846 bytes 17 files changed, 538 insertions(+), 4 deletions(-) create mode 100644 app/src/main/java/com/hi/music/player/adapter/AHomeViewPagerAdapter.java create mode 100644 app/src/main/java/com/hi/music/player/ui/activity/AHomeActivity.java create mode 100644 app/src/main/java/com/hi/music/player/ui/fragmnt/AHomeFragment.java create mode 100644 app/src/main/java/com/hi/music/player/ui/fragmnt/AImportFragment.java create mode 100644 app/src/main/res/drawable/a_rounded_rectangle_tab_layout.xml create mode 100644 app/src/main/res/drawable/circular_progress_drawable.xml create mode 100644 app/src/main/res/drawable/clock.xml create mode 100644 app/src/main/res/drawable/import_select.xml create mode 100644 app/src/main/res/drawable/import_unselect.xml create mode 100644 app/src/main/res/drawable/pause.xml create mode 100644 app/src/main/res/layout/activity_ahome.xml create mode 100644 app/src/main/res/layout/fragment_a_home.xml create mode 100644 app/src/main/res/layout/fragment_a_import.xml create mode 100644 app/src/main/res/mipmap-xxxhdpi/cover.png diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 53bc04f..6a8237b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -14,6 +14,9 @@ android:supportsRtl="true" android:theme="@style/Theme.MusicApp" tools:targetApi="31"> + @@ -21,7 +24,7 @@ android:name=".ui.activity.MainActivity" android:exported="false" /> diff --git a/app/src/main/java/com/hi/music/player/adapter/AHomeViewPagerAdapter.java b/app/src/main/java/com/hi/music/player/adapter/AHomeViewPagerAdapter.java new file mode 100644 index 0000000..545473c --- /dev/null +++ b/app/src/main/java/com/hi/music/player/adapter/AHomeViewPagerAdapter.java @@ -0,0 +1,33 @@ +package com.hi.music.player.adapter; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; +import androidx.viewpager2.adapter.FragmentStateAdapter; + +import com.hi.music.player.ui.fragmnt.AHomeFragment; +import com.hi.music.player.ui.fragmnt.AImportFragment; + +import java.util.ArrayList; +import java.util.List; + +public class AHomeViewPagerAdapter extends FragmentStateAdapter { + + private final List fragments = new ArrayList<>(); + public AHomeViewPagerAdapter(@NonNull FragmentActivity fragmentActivity) { + super(fragmentActivity); + fragments.add(new AHomeFragment()); + fragments.add(new AImportFragment()); + } + + @NonNull + @Override + public Fragment createFragment(int position) { + return fragments.get(position); + } + + @Override + public int getItemCount() { + return fragments.size(); + } +} diff --git a/app/src/main/java/com/hi/music/player/ui/activity/AHomeActivity.java b/app/src/main/java/com/hi/music/player/ui/activity/AHomeActivity.java new file mode 100644 index 0000000..375bedc --- /dev/null +++ b/app/src/main/java/com/hi/music/player/ui/activity/AHomeActivity.java @@ -0,0 +1,99 @@ +package com.hi.music.player.ui.activity; + +import android.os.Bundle; +import android.view.LayoutInflater; + +import com.google.android.material.tabs.TabLayout; +import com.google.android.material.tabs.TabLayoutMediator; +import com.hi.music.player.R; +import com.hi.music.player.adapter.AHomeViewPagerAdapter; +import com.hi.music.player.databinding.ActivityAhomeBinding; +import com.hi.music.player.databinding.HomeTabCustomBinding; + +public class AHomeActivity extends BaseActivity { + + // 图标数组定义为类成员,避免重复 + private final int[] defaultIcons = { + R.drawable.home_unselect, + R.drawable.import_unselect, + }; + + private final int[] selectedIcons = { + R.drawable.home_select, + R.drawable.import_select, + }; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + } + + @Override + protected ActivityAhomeBinding getViewBinding() { + return ActivityAhomeBinding.inflate(getLayoutInflater()); + } + + @Override + protected void onCreateInit() { + + initData(); + + } + + @Override + public boolean isFullScreen() { + return true; + } + + @Override + public boolean statusBarLight() { + return false; + } + + public void initData(){ + + AHomeViewPagerAdapter adapter = new AHomeViewPagerAdapter(this); + vb.homeViewpager.setAdapter(adapter); + + // 设置TabLayout的图标 + new TabLayoutMediator(vb.homeTabLayout, vb.homeViewpager, (tab, position) -> { + HomeTabCustomBinding tabBinding = HomeTabCustomBinding.inflate(LayoutInflater.from(this)); + tab.setCustomView(tabBinding.getRoot()); + tabBinding.homeIcon.setImageResource(defaultIcons[position]); // 默认图标 + }).attach(); + + // 添加Tab选中与未选中事件监听器 + vb.homeTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { + @Override + public void onTabSelected(TabLayout.Tab tab) { + updateTabIcon(tab, true); // 更新选中的图标 + } + + @Override + public void onTabUnselected(TabLayout.Tab tab) { + updateTabIcon(tab, false); // 恢复未选中图标 + } + + @Override + public void onTabReselected(TabLayout.Tab tab) { + // 可选:重复选择Tab时的操作 + } + }); + + // 设置默认选中第一个 + TabLayout.Tab firstTab = vb.homeTabLayout.getTabAt(0); + if (firstTab != null) { + firstTab.select(); + updateTabIcon(firstTab, true); // 设置选中的图标 + } + } + + private void updateTabIcon(TabLayout.Tab tab, boolean isSelected) { + HomeTabCustomBinding tabBinding = HomeTabCustomBinding.bind(tab.getCustomView()); + int position = tab.getPosition(); + tabBinding.homeIcon.setImageResource(isSelected ? selectedIcons[position] : defaultIcons[position]); + } + + } + diff --git a/app/src/main/java/com/hi/music/player/ui/activity/AsplashActivity.java b/app/src/main/java/com/hi/music/player/ui/activity/AsplashActivity.java index 87ff526..0b975e5 100644 --- a/app/src/main/java/com/hi/music/player/ui/activity/AsplashActivity.java +++ b/app/src/main/java/com/hi/music/player/ui/activity/AsplashActivity.java @@ -5,7 +5,7 @@ import android.os.CountDownTimer; import com.hi.music.player.databinding.ActivityAsplashBinding; -public class AsplashActivity extends BaseActivity { +public class ASplashActivity extends BaseActivity { private static final int SPLASH_TIME_OUT = 1500; private CountDownTimer countDownTimer; @@ -48,7 +48,7 @@ public class AsplashActivity extends BaseActivity { @Override public void onFinish() { vb.progressBar.setProgress(100); - Intent intent = new Intent(AsplashActivity.this, HomeActivity.class); + Intent intent = new Intent(ASplashActivity.this, AHomeActivity.class); startActivity(intent); finish(); } diff --git a/app/src/main/java/com/hi/music/player/ui/fragmnt/AHomeFragment.java b/app/src/main/java/com/hi/music/player/ui/fragmnt/AHomeFragment.java new file mode 100644 index 0000000..bdc0001 --- /dev/null +++ b/app/src/main/java/com/hi/music/player/ui/fragmnt/AHomeFragment.java @@ -0,0 +1,66 @@ +package com.hi.music.player.ui.fragmnt; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.hi.music.player.R; + +/** + * A simple {@link Fragment} subclass. + * Use the {@link AHomeFragment#newInstance} factory method to + * create an instance of this fragment. + */ +public class AHomeFragment extends Fragment { + + // TODO: Rename parameter arguments, choose names that match + // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER + private static final String ARG_PARAM1 = "param1"; + private static final String ARG_PARAM2 = "param2"; + + // TODO: Rename and change types of parameters + private String mParam1; + private String mParam2; + + public AHomeFragment() { + // Required empty public constructor + } + + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment AHomeFragment. + */ + // TODO: Rename and change types and number of parameters + public static AHomeFragment newInstance(String param1, String param2) { + AHomeFragment fragment = new AHomeFragment(); + Bundle args = new Bundle(); + args.putString(ARG_PARAM1, param1); + args.putString(ARG_PARAM2, param2); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + mParam1 = getArguments().getString(ARG_PARAM1); + mParam2 = getArguments().getString(ARG_PARAM2); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_a_home, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/hi/music/player/ui/fragmnt/AImportFragment.java b/app/src/main/java/com/hi/music/player/ui/fragmnt/AImportFragment.java new file mode 100644 index 0000000..a89cb02 --- /dev/null +++ b/app/src/main/java/com/hi/music/player/ui/fragmnt/AImportFragment.java @@ -0,0 +1,66 @@ +package com.hi.music.player.ui.fragmnt; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.hi.music.player.R; + +/** + * A simple {@link Fragment} subclass. + * Use the {@link AImportFragment#newInstance} factory method to + * create an instance of this fragment. + */ +public class AImportFragment extends Fragment { + + // TODO: Rename parameter arguments, choose names that match + // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER + private static final String ARG_PARAM1 = "param1"; + private static final String ARG_PARAM2 = "param2"; + + // TODO: Rename and change types of parameters + private String mParam1; + private String mParam2; + + public AImportFragment() { + // Required empty public constructor + } + + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment AImportFragment. + */ + // TODO: Rename and change types and number of parameters + public static AImportFragment newInstance(String param1, String param2) { + AImportFragment fragment = new AImportFragment(); + Bundle args = new Bundle(); + args.putString(ARG_PARAM1, param1); + args.putString(ARG_PARAM2, param2); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + mParam1 = getArguments().getString(ARG_PARAM1); + mParam2 = getArguments().getString(ARG_PARAM2); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_a_import, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/a_rounded_rectangle_tab_layout.xml b/app/src/main/res/drawable/a_rounded_rectangle_tab_layout.xml new file mode 100644 index 0000000..dcc6e4f --- /dev/null +++ b/app/src/main/res/drawable/a_rounded_rectangle_tab_layout.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/circular_progress_drawable.xml b/app/src/main/res/drawable/circular_progress_drawable.xml new file mode 100644 index 0000000..7ae0e50 --- /dev/null +++ b/app/src/main/res/drawable/circular_progress_drawable.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/clock.xml b/app/src/main/res/drawable/clock.xml new file mode 100644 index 0000000..324cc10 --- /dev/null +++ b/app/src/main/res/drawable/clock.xml @@ -0,0 +1,33 @@ + + + + + + diff --git a/app/src/main/res/drawable/import_select.xml b/app/src/main/res/drawable/import_select.xml new file mode 100644 index 0000000..b546665 --- /dev/null +++ b/app/src/main/res/drawable/import_select.xml @@ -0,0 +1,15 @@ + + + + diff --git a/app/src/main/res/drawable/import_unselect.xml b/app/src/main/res/drawable/import_unselect.xml new file mode 100644 index 0000000..656e4e1 --- /dev/null +++ b/app/src/main/res/drawable/import_unselect.xml @@ -0,0 +1,15 @@ + + + + diff --git a/app/src/main/res/drawable/pause.xml b/app/src/main/res/drawable/pause.xml new file mode 100644 index 0000000..6ece7e6 --- /dev/null +++ b/app/src/main/res/drawable/pause.xml @@ -0,0 +1,18 @@ + + + + diff --git a/app/src/main/res/layout/activity_ahome.xml b/app/src/main/res/layout/activity_ahome.xml new file mode 100644 index 0000000..5a9d5eb --- /dev/null +++ b/app/src/main/res/layout/activity_ahome.xml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_asplash.xml b/app/src/main/res/layout/activity_asplash.xml index f6aeb60..8649154 100644 --- a/app/src/main/res/layout/activity_asplash.xml +++ b/app/src/main/res/layout/activity_asplash.xml @@ -6,7 +6,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/black" - tools:context=".ui.activity.AsplashActivity"> + tools:context=".ui.activity.ASplashActivity"> + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_a_import.xml b/app/src/main/res/layout/fragment_a_import.xml new file mode 100644 index 0000000..c6ef680 --- /dev/null +++ b/app/src/main/res/layout/fragment_a_import.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-xxxhdpi/cover.png b/app/src/main/res/mipmap-xxxhdpi/cover.png new file mode 100644 index 0000000000000000000000000000000000000000..a8fb290f9c0d12f23d4d679fb1da7c70bb017a32 GIT binary patch literal 32846 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

*&*Alb*?iL-fJLoduBDf0nBg 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 literal 0 HcmV?d00001 From 9a569169da45745d1acc424925a9cec9e0bd756a Mon Sep 17 00:00:00 2001 From: lihongwei Date: Thu, 19 Sep 2024 18:17:55 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BF=9B=E5=BA=A6?= =?UTF-8?q?=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../player/helper/CircularProgressBar.java | 102 ++++++++++++++++++ .../player/ui/fragmnt/AHomeFragment.java | 44 +------- app/src/main/res/layout/activity_ahome.xml | 16 +-- 3 files changed, 108 insertions(+), 54 deletions(-) create mode 100644 app/src/main/java/com/hi/music/player/helper/CircularProgressBar.java diff --git a/app/src/main/java/com/hi/music/player/helper/CircularProgressBar.java b/app/src/main/java/com/hi/music/player/helper/CircularProgressBar.java new file mode 100644 index 0000000..e824383 --- /dev/null +++ b/app/src/main/java/com/hi/music/player/helper/CircularProgressBar.java @@ -0,0 +1,102 @@ +package com.hi.music.player.helper; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.util.AttributeSet; +import android.view.View; + +public class CircularProgressBar extends View { + private Paint progressPaint; + private Paint backgroundPaint; + private float progress = 0; + private float maxProgress = 100; + + private int fixedSize = 47; // 固定圆环的直径(dp) + private int progressWidth = 5; // 固定进度条宽度(dp) + + public CircularProgressBar(Context context) { + super(context); + init(); + } + + public CircularProgressBar(Context context, AttributeSet attrs) { + super(context, attrs); + init(); + } + + public CircularProgressBar(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } + + private void init() { + // 初始化用于绘制进度条的画笔 + progressPaint = new Paint(Paint.ANTI_ALIAS_FLAG); + progressPaint.setStyle(Paint.Style.STROKE); + progressPaint.setStrokeWidth(dpToPx(progressWidth)); // 设置进度条宽度(10dp) + progressPaint.setColor(Color.WHITE); // 设置进度条颜色为白色 + + // 初始化用于绘制背景环的画笔 + backgroundPaint = new Paint(Paint.ANTI_ALIAS_FLAG); + backgroundPaint.setStyle(Paint.Style.STROKE); + backgroundPaint.setStrokeWidth(dpToPx(progressWidth)); + backgroundPaint.setColor(Color.GRAY); // 设置背景环颜色为灰色 + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + // Convert dp to pixels + int diameterPx = dpToPx(fixedSize); + int size = diameterPx + dpToPx(progressWidth) * 2; + setMeasuredDimension(size, size); + } + + @Override + protected void onDraw(Canvas canvas) { + super.onDraw(canvas); + + // 获取视图中心坐标 + float centerX = getWidth() / 2f; + float centerY = getHeight() / 2f; + + // 固定圆环的半径 + float radius = (Math.min(getWidth(), getHeight()) - dpToPx(progressWidth)) / 2f; + + // 绘制背景环 + canvas.drawCircle(centerX, centerY, radius, backgroundPaint); + + // 计算进度条的起始角度和扫过的角度 + float startAngle = -90f; // 从顶部开始 + float sweepAngle = 360f * progress / maxProgress; // 根据进度计算扫过的角度 + // 绘制进度条 + canvas.drawArc( + centerX - radius, // 左上角 X 坐标 + centerY - radius, // 左上角 Y 坐标 + centerX + radius, // 右下角 X 坐标 + centerY + radius, // 右下角 Y 坐标 + startAngle, // 起始角度 + sweepAngle, // 扫过的角度 + false, // 是否使用扇形 + progressPaint // 使用的画笔 + ); + } + + public void setProgress(float progress) { + this.progress = Math.max(0, Math.min(progress, maxProgress)); // 限制进度值在 0 到 maxProgress 之间 + invalidate(); // 请求重新绘制视图 + } + + public void setMaxProgress(float maxProgress) { + this.maxProgress = maxProgress; + this.progress = Math.max(0, Math.min(this.progress, maxProgress)); // 调整当前进度值以适应新的最大值 + invalidate(); // 请求重新绘制视图 + } + + // 将 dp 转换为 px + private int dpToPx(int dp) { + float density = getResources().getDisplayMetrics().density; + return Math.round(dp * density); // 将 dp 值乘以屏幕密度转换为 px + } +} diff --git a/app/src/main/java/com/hi/music/player/ui/fragmnt/AHomeFragment.java b/app/src/main/java/com/hi/music/player/ui/fragmnt/AHomeFragment.java index bdc0001..e0e502a 100644 --- a/app/src/main/java/com/hi/music/player/ui/fragmnt/AHomeFragment.java +++ b/app/src/main/java/com/hi/music/player/ui/fragmnt/AHomeFragment.java @@ -10,52 +10,10 @@ import android.view.ViewGroup; import com.hi.music.player.R; -/** - * A simple {@link Fragment} subclass. - * Use the {@link AHomeFragment#newInstance} factory method to - * create an instance of this fragment. - */ + public class AHomeFragment extends Fragment { - // TODO: Rename parameter arguments, choose names that match - // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER - private static final String ARG_PARAM1 = "param1"; - private static final String ARG_PARAM2 = "param2"; - // TODO: Rename and change types of parameters - private String mParam1; - private String mParam2; - - public AHomeFragment() { - // Required empty public constructor - } - - /** - * Use this factory method to create a new instance of - * this fragment using the provided parameters. - * - * @param param1 Parameter 1. - * @param param2 Parameter 2. - * @return A new instance of fragment AHomeFragment. - */ - // TODO: Rename and change types and number of parameters - public static AHomeFragment newInstance(String param1, String param2) { - AHomeFragment fragment = new AHomeFragment(); - Bundle args = new Bundle(); - args.putString(ARG_PARAM1, param1); - args.putString(ARG_PARAM2, param2); - fragment.setArguments(args); - return fragment; - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - if (getArguments() != null) { - mParam1 = getArguments().getString(ARG_PARAM1); - mParam2 = getArguments().getString(ARG_PARAM2); - } - } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, diff --git a/app/src/main/res/layout/activity_ahome.xml b/app/src/main/res/layout/activity_ahome.xml index 5a9d5eb..4f9ca99 100644 --- a/app/src/main/res/layout/activity_ahome.xml +++ b/app/src/main/res/layout/activity_ahome.xml @@ -45,17 +45,12 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> - - + + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center"/> -