Add home func icon

pull/1/head
FongMi 4 years ago
parent a45148e49b
commit a0208b7305
  1. 6
      app/src/main/AndroidManifest.xml
  2. 50
      app/src/main/java/com/fongmi/bear/bean/Func.java
  3. 2
      app/src/main/java/com/fongmi/bear/ui/activity/BaseActivity.java
  4. 16
      app/src/main/java/com/fongmi/bear/ui/activity/HomeActivity.java
  5. 2
      app/src/main/java/com/fongmi/bear/ui/activity/SettingActivity.java
  6. 2
      app/src/main/java/com/fongmi/bear/ui/activity/SplashActivity.java
  7. 66
      app/src/main/java/com/fongmi/bear/ui/adapter/FuncAdapter.java
  8. 12
      app/src/main/java/com/fongmi/bear/utils/ResUtil.java
  9. BIN
      app/src/main/res/drawable-hdpi/ic_live.png
  10. BIN
      app/src/main/res/drawable-hdpi/ic_push.png
  11. BIN
      app/src/main/res/drawable-hdpi/ic_search.png
  12. BIN
      app/src/main/res/drawable-hdpi/ic_setting.png
  13. BIN
      app/src/main/res/drawable-hdpi/ic_vod.png
  14. BIN
      app/src/main/res/drawable-mdpi/ic_live.png
  15. BIN
      app/src/main/res/drawable-mdpi/ic_push.png
  16. BIN
      app/src/main/res/drawable-mdpi/ic_search.png
  17. BIN
      app/src/main/res/drawable-mdpi/ic_setting.png
  18. BIN
      app/src/main/res/drawable-mdpi/ic_vod.png
  19. 2
      app/src/main/res/drawable-nodpi/shape_item_normal.xml
  20. 2
      app/src/main/res/drawable-nodpi/shape_item_selected.xml
  21. BIN
      app/src/main/res/drawable-xhdpi/ic_live.png
  22. BIN
      app/src/main/res/drawable-xhdpi/ic_push.png
  23. BIN
      app/src/main/res/drawable-xhdpi/ic_search.png
  24. BIN
      app/src/main/res/drawable-xhdpi/ic_setting.png
  25. BIN
      app/src/main/res/drawable-xhdpi/ic_vod.png
  26. BIN
      app/src/main/res/drawable-xxhdpi/ic_live.png
  27. BIN
      app/src/main/res/drawable-xxhdpi/ic_push.png
  28. BIN
      app/src/main/res/drawable-xxhdpi/ic_search.png
  29. BIN
      app/src/main/res/drawable-xxhdpi/ic_setting.png
  30. BIN
      app/src/main/res/drawable-xxhdpi/ic_vod.png
  31. BIN
      app/src/main/res/drawable-xxxhdpi/ic_live.png
  32. BIN
      app/src/main/res/drawable-xxxhdpi/ic_push.png
  33. BIN
      app/src/main/res/drawable-xxxhdpi/ic_search.png
  34. BIN
      app/src/main/res/drawable-xxxhdpi/ic_setting.png
  35. BIN
      app/src/main/res/drawable-xxxhdpi/ic_vod.png
  36. 61
      app/src/main/res/layout/activity_home.xml
  37. 26
      app/src/main/res/layout/adapter_func.xml
  38. 16
      app/src/main/res/values-zh-rCN/strings.xml
  39. 18
      app/src/main/res/values-zh-rTW/strings.xml
  40. 16
      app/src/main/res/values/strings.xml

@ -42,7 +42,7 @@
</provider>
<activity
android:name=".ui.SplashActivity"
android:name=".ui.activity.SplashActivity"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
android:exported="true"
android:screenOrientation="sensorLandscape">
@ -55,12 +55,12 @@
</activity>
<activity
android:name=".ui.HomeActivity"
android:name=".ui.activity.HomeActivity"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
android:screenOrientation="sensorLandscape" />
<activity
android:name=".ui.SettingActivity"
android:name=".ui.activity.SettingActivity"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
android:screenOrientation="sensorLandscape" />

@ -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;
}
}
}

@ -1,4 +1,4 @@
package com.fongmi.bear.ui;
package com.fongmi.bear.ui.activity;
import android.app.Activity;
import android.content.res.Configuration;

@ -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());
}
}

@ -1,4 +1,4 @@
package com.fongmi.bear.ui;
package com.fongmi.bear.ui.activity;
import android.app.Activity;
import android.content.Intent;

@ -1,4 +1,4 @@
package com.fongmi.bear.ui;
package com.fongmi.bear.ui.activity;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;

@ -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<FuncAdapter.FuncHolder> {
private List<Func> 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());
}
}

@ -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);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 692 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1014 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 689 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 743 B

@ -4,7 +4,7 @@
<solid android:color="@color/trans_20" />
<corners android:radius="4dp" />
<corners android:radius="6dp" />
<padding
android:bottom="8dp"

@ -4,7 +4,7 @@
<solid android:color="@color/trans_25" />
<corners android:radius="4dp" />
<corners android:radius="6dp" />
<padding
android:bottom="8dp"

Binary file not shown.

After

Width:  |  Height:  |  Size: 920 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

@ -1,4 +1,61 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" />
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textColor="@color/white"
android:textSize="24sp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/func"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
tools:itemCount="5"
tools:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
tools:listitem="@layout/adapter_func"
tools:orientation="vertical"
tools:scrollbars="vertical"
tools:spanCount="5" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/home_recent"
android:textColor="@color/white"
android:textSize="24sp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/home_update"
android:textColor="@color/white"
android:textSize="24sp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/update"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="96dp"
android:layout_height="96dp"
android:layout_marginEnd="12dp"
android:background="@drawable/selector_item"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/icon"
android:layout_width="36dp"
android:layout_height="36dp"
tools:src="@drawable/ic_vod" />
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textColor="@color/white"
android:textSize="18sp"
tools:text="點播" />
</LinearLayout>

@ -1,9 +1,25 @@
<resources>
<!-- App -->
<string name="app_name">熊爱影视</string>
<!-- Splash -->
<string name="splash_info">正在载入配置</string>
<!-- Home -->
<string name="home_vod">点播</string>
<string name="home_live">直播</string>
<string name="home_search">搜寻</string>
<string name="home_push">推送</string>
<string name="home_setting">设定</string>
<string name="home_recent">最近观看</string>
<string name="home_update">更新推荐</string>
<!-- Setting -->
<string name="setting_url">配置接口</string>
<string name="setting_history">历史配置</string>
<!-- Dialog -->
<string name="dialog_positive">确定</string>
<string name="dialog_negative">取消</string>

@ -1,10 +1,26 @@
<resources>
<!-- App -->
<string name="app_name">熊愛影視</string>
<!-- Splash -->
<string name="splash_info">正在載入配置</string>
<!-- Home -->
<string name="home_vod">點播</string>
<string name="home_live">直播</string>
<string name="home_search">搜尋</string>
<string name="home_push">推送</string>
<string name="home_setting">設定</string>
<string name="home_recent">最近觀看</string>
<string name="home_update">更新推薦</string>
<!-- Setting -->
<string name="setting_url">配置接口</string>
<string name="setting_history">歷史配置</string>
<!-- Dialog -->
<string name="dialog_positive">確定</string>
<string name="dialog_negative">取消</string>
</resources>

@ -1,9 +1,25 @@
<resources>
<!-- App -->
<string name="app_name">BearTV</string>
<!-- Splash -->
<string name="splash_info">Loading config</string>
<!-- Home -->
<string name="home_vod">Vod</string>
<string name="home_live">Live</string>
<string name="home_search">Search</string>
<string name="home_push">Push</string>
<string name="home_setting">Setting</string>
<string name="home_recent">Recent</string>
<string name="home_update">Recommend</string>
<!-- Setting -->
<string name="setting_url">Configure</string>
<string name="setting_history">History</string>
<!-- Dialog -->
<string name="dialog_positive">OK</string>
<string name="dialog_negative">Cancel</string>

Loading…
Cancel
Save