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