diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7200a536e..b34560ede 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -42,7 +42,7 @@
@@ -55,12 +55,12 @@
diff --git a/app/src/main/java/com/fongmi/bear/bean/Func.java b/app/src/main/java/com/fongmi/bear/bean/Func.java
new file mode 100644
index 000000000..a480ad707
--- /dev/null
+++ b/app/src/main/java/com/fongmi/bear/bean/Func.java
@@ -0,0 +1,50 @@
+package com.fongmi.bear.bean;
+
+import android.annotation.SuppressLint;
+
+import com.fongmi.bear.R;
+import com.fongmi.bear.utils.ResUtil;
+
+public class Func {
+
+ private final int resId;
+ private int drawable;
+
+ public static Func create(int resId) {
+ return new Func(resId);
+ }
+
+ public Func(int resId) {
+ this.resId = resId;
+ this.setDrawable();
+ }
+
+ public int getDrawable() {
+ return drawable;
+ }
+
+ public String getText() {
+ return ResUtil.getString(resId);
+ }
+
+ @SuppressLint("NonConstantResourceId")
+ public void setDrawable() {
+ switch (resId) {
+ case R.string.home_vod:
+ this.drawable = R.drawable.ic_vod;
+ break;
+ case R.string.home_live:
+ this.drawable = R.drawable.ic_live;
+ break;
+ case R.string.home_push:
+ this.drawable = R.drawable.ic_push;
+ break;
+ case R.string.home_search:
+ this.drawable = R.drawable.ic_search;
+ break;
+ case R.string.home_setting:
+ this.drawable = R.drawable.ic_setting;
+ break;
+ }
+ }
+}
diff --git a/app/src/main/java/com/fongmi/bear/ui/BaseActivity.java b/app/src/main/java/com/fongmi/bear/ui/activity/BaseActivity.java
similarity index 96%
rename from app/src/main/java/com/fongmi/bear/ui/BaseActivity.java
rename to app/src/main/java/com/fongmi/bear/ui/activity/BaseActivity.java
index e817dba19..68bab4490 100644
--- a/app/src/main/java/com/fongmi/bear/ui/BaseActivity.java
+++ b/app/src/main/java/com/fongmi/bear/ui/activity/BaseActivity.java
@@ -1,4 +1,4 @@
-package com.fongmi.bear.ui;
+package com.fongmi.bear.ui.activity;
import android.app.Activity;
import android.content.res.Configuration;
diff --git a/app/src/main/java/com/fongmi/bear/ui/HomeActivity.java b/app/src/main/java/com/fongmi/bear/ui/activity/HomeActivity.java
similarity index 55%
rename from app/src/main/java/com/fongmi/bear/ui/HomeActivity.java
rename to app/src/main/java/com/fongmi/bear/ui/activity/HomeActivity.java
index 2f8c41ec6..6f3076bf7 100644
--- a/app/src/main/java/com/fongmi/bear/ui/HomeActivity.java
+++ b/app/src/main/java/com/fongmi/bear/ui/activity/HomeActivity.java
@@ -1,16 +1,19 @@
-package com.fongmi.bear.ui;
+package com.fongmi.bear.ui.activity;
import android.app.Activity;
import android.content.Intent;
+import androidx.recyclerview.widget.GridLayoutManager;
import androidx.viewbinding.ViewBinding;
import com.fongmi.bear.App;
import com.fongmi.bear.databinding.ActivityHomeBinding;
+import com.fongmi.bear.ui.adapter.FuncAdapter;
public class HomeActivity extends BaseActivity {
private ActivityHomeBinding binding;
+ private FuncAdapter funcAdapter;
public static void start(Activity activity) {
activity.startActivity(new Intent(activity, HomeActivity.class));
@@ -24,10 +27,13 @@ public class HomeActivity extends BaseActivity {
@Override
protected void initView() {
- if (App.get().getConfig() == null) {
- SettingActivity.start(this);
- } else {
+ if (App.get().getConfig() == null) SettingActivity.start(this);
+ setRecyclerView();
+ }
- }
+ private void setRecyclerView() {
+ binding.func.setHasFixedSize(true);
+ binding.func.setLayoutManager(new GridLayoutManager(this, 5));
+ binding.func.setAdapter(funcAdapter = new FuncAdapter());
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/fongmi/bear/ui/SettingActivity.java b/app/src/main/java/com/fongmi/bear/ui/activity/SettingActivity.java
similarity index 97%
rename from app/src/main/java/com/fongmi/bear/ui/SettingActivity.java
rename to app/src/main/java/com/fongmi/bear/ui/activity/SettingActivity.java
index b3c0aeae6..063aca7a8 100644
--- a/app/src/main/java/com/fongmi/bear/ui/SettingActivity.java
+++ b/app/src/main/java/com/fongmi/bear/ui/activity/SettingActivity.java
@@ -1,4 +1,4 @@
-package com.fongmi.bear.ui;
+package com.fongmi.bear.ui.activity;
import android.app.Activity;
import android.content.Intent;
diff --git a/app/src/main/java/com/fongmi/bear/ui/SplashActivity.java b/app/src/main/java/com/fongmi/bear/ui/activity/SplashActivity.java
similarity index 98%
rename from app/src/main/java/com/fongmi/bear/ui/SplashActivity.java
rename to app/src/main/java/com/fongmi/bear/ui/activity/SplashActivity.java
index f4da08023..28a555279 100644
--- a/app/src/main/java/com/fongmi/bear/ui/SplashActivity.java
+++ b/app/src/main/java/com/fongmi/bear/ui/activity/SplashActivity.java
@@ -1,4 +1,4 @@
-package com.fongmi.bear.ui;
+package com.fongmi.bear.ui.activity;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
diff --git a/app/src/main/java/com/fongmi/bear/ui/adapter/FuncAdapter.java b/app/src/main/java/com/fongmi/bear/ui/adapter/FuncAdapter.java
new file mode 100644
index 000000000..9fe86a499
--- /dev/null
+++ b/app/src/main/java/com/fongmi/bear/ui/adapter/FuncAdapter.java
@@ -0,0 +1,66 @@
+package com.fongmi.bear.ui.adapter;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.fongmi.bear.R;
+import com.fongmi.bear.bean.Func;
+import com.fongmi.bear.databinding.AdapterFuncBinding;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class FuncAdapter extends RecyclerView.Adapter {
+
+ private List items;
+
+ public FuncAdapter() {
+ addAll();
+ }
+
+ static class FuncHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
+
+ private final AdapterFuncBinding binding;
+
+ public FuncHolder(@NonNull AdapterFuncBinding binding) {
+ super(binding.getRoot());
+ this.binding = binding;
+ itemView.setOnClickListener(this);
+ }
+
+ @Override
+ public void onClick(View view) {
+ }
+ }
+
+ public void addAll() {
+ items = new ArrayList<>();
+ items.add(Func.create(R.string.home_vod));
+ items.add(Func.create(R.string.home_live));
+ items.add(Func.create(R.string.home_search));
+ items.add(Func.create(R.string.home_push));
+ items.add(Func.create(R.string.home_setting));
+ }
+
+ @Override
+ public int getItemCount() {
+ return items.size();
+ }
+
+ @NonNull
+ @Override
+ public FuncAdapter.FuncHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ return new FuncHolder(AdapterFuncBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false));
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull FuncAdapter.FuncHolder holder, int position) {
+ Func item = items.get(position);
+ holder.binding.icon.setImageResource(item.getDrawable());
+ holder.binding.text.setText(item.getText());
+ }
+}
diff --git a/app/src/main/java/com/fongmi/bear/utils/ResUtil.java b/app/src/main/java/com/fongmi/bear/utils/ResUtil.java
new file mode 100644
index 000000000..449691dc2
--- /dev/null
+++ b/app/src/main/java/com/fongmi/bear/utils/ResUtil.java
@@ -0,0 +1,12 @@
+package com.fongmi.bear.utils;
+
+import androidx.annotation.StringRes;
+
+import com.fongmi.bear.App;
+
+public class ResUtil {
+
+ public static String getString(@StringRes int resId) {
+ return App.get().getString(resId);
+ }
+}
diff --git a/app/src/main/res/drawable-hdpi/ic_live.png b/app/src/main/res/drawable-hdpi/ic_live.png
new file mode 100644
index 000000000..e38312936
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_live.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_push.png b/app/src/main/res/drawable-hdpi/ic_push.png
new file mode 100644
index 000000000..761231621
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_push.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_search.png b/app/src/main/res/drawable-hdpi/ic_search.png
new file mode 100644
index 000000000..4aeae830f
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_search.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_setting.png b/app/src/main/res/drawable-hdpi/ic_setting.png
new file mode 100644
index 000000000..53706e7d3
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_setting.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_vod.png b/app/src/main/res/drawable-hdpi/ic_vod.png
new file mode 100644
index 000000000..066ac3c2c
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_vod.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_live.png b/app/src/main/res/drawable-mdpi/ic_live.png
new file mode 100644
index 000000000..e2b48a081
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_live.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_push.png b/app/src/main/res/drawable-mdpi/ic_push.png
new file mode 100644
index 000000000..e8a0a01c7
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_push.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_search.png b/app/src/main/res/drawable-mdpi/ic_search.png
new file mode 100644
index 000000000..c57d02e07
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_search.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_setting.png b/app/src/main/res/drawable-mdpi/ic_setting.png
new file mode 100644
index 000000000..c28c69f24
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_setting.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_vod.png b/app/src/main/res/drawable-mdpi/ic_vod.png
new file mode 100644
index 000000000..41c167c27
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_vod.png differ
diff --git a/app/src/main/res/drawable-nodpi/shape_item_normal.xml b/app/src/main/res/drawable-nodpi/shape_item_normal.xml
index 312d362da..ee13d4772 100644
--- a/app/src/main/res/drawable-nodpi/shape_item_normal.xml
+++ b/app/src/main/res/drawable-nodpi/shape_item_normal.xml
@@ -4,7 +4,7 @@
-
+
-
+
-
\ No newline at end of file
+ android:layout_height="match_parent">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/adapter_func.xml b/app/src/main/res/layout/adapter_func.xml
new file mode 100644
index 000000000..04a158a4b
--- /dev/null
+++ b/app/src/main/res/layout/adapter_func.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index a44404f70..b0255d365 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -1,9 +1,25 @@
+
熊爱影视
+
+
正在载入配置
+
+
+ 点播
+ 直播
+ 搜寻
+ 推送
+ 设定
+ 最近观看
+ 更新推荐
+
+
配置接口
历史配置
+
+
确定
取消
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 63180d9ba..4cc5c3eae 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -1,10 +1,26 @@
+
熊愛影視
+
+
正在載入配置
+
+
+ 點播
+ 直播
+ 搜尋
+ 推送
+ 設定
+ 最近觀看
+ 更新推薦
+
+
配置接口
歷史配置
+
+
確定
取消
-
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 559433bf3..e595d6242 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,9 +1,25 @@
+
BearTV
+
+
Loading config
+
+
+ Vod
+ Live
+ Search
+ Push
+ Setting
+ Recent
+ Recommend
+
+
Configure
History
+
+
OK
Cancel