From da2e66c73ff750d27522c1d58b8cdca515b06554 Mon Sep 17 00:00:00 2001 From: niushuai233 Date: Fri, 12 Apr 2024 17:38:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20:car:=20=E6=B7=BB=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E9=A1=B9=E5=B8=83=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cc/niushuai/dididone/MainActivity.java | 79 +++------------ .../dididone/ui/base/BaseActivity.java | 74 ++++++++++++++ .../setting/project/NewProjectActivity.java | 20 ++-- .../main/res/layout/activity_new_project.xml | 99 +++++++++++++++++-- app/src/main/res/values/strings.xml | 6 ++ 5 files changed, 192 insertions(+), 86 deletions(-) diff --git a/app/src/main/java/cc/niushuai/dididone/MainActivity.java b/app/src/main/java/cc/niushuai/dididone/MainActivity.java index fcd342d..ca993e0 100644 --- a/app/src/main/java/cc/niushuai/dididone/MainActivity.java +++ b/app/src/main/java/cc/niushuai/dididone/MainActivity.java @@ -1,12 +1,7 @@ package cc.niushuai.dididone; -import android.graphics.Color; import android.os.Bundle; -import android.util.Log; -import androidx.annotation.NonNull; -import androidx.appcompat.app.AppCompatActivity; -import androidx.core.view.LayoutInflaterCompat; import androidx.drawerlayout.widget.DrawerLayout; import androidx.navigation.NavController; import androidx.navigation.Navigation; @@ -14,77 +9,19 @@ import androidx.navigation.ui.AppBarConfiguration; import androidx.navigation.ui.NavigationUI; import com.google.android.material.navigation.NavigationView; -import com.mikepenz.community_material_typeface_library.CommunityMaterial; -import com.mikepenz.devicon_typeface_library.DevIcon; -import com.mikepenz.fontawesome_typeface_library.FontAwesome; -import com.mikepenz.foundation_icons_typeface_library.FoundationIcons; -import com.mikepenz.google_material_typeface_library.GoogleMaterial; -import com.mikepenz.iconics.Iconics; -import com.mikepenz.iconics.context.IconicsLayoutInflater2; -import com.mikepenz.iconics.typeface.IIcon; -import com.mikepenz.ionicons_typeface_library.Ionicons; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import cc.niushuai.dididone.biz.entity.SavedIcon; + import cc.niushuai.dididone.biz.roomx.DBManager; import cc.niushuai.dididone.databinding.ActivityMainBinding; -import cc.niushuai.dididone.ui.setting.icon.recycle.IconRecycleAdapter; -import cc.niushuai.dididone.util.Snowflake; +import cc.niushuai.dididone.ui.base.BaseActivity; -public class MainActivity extends AppCompatActivity { +public class MainActivity extends BaseActivity { private AppBarConfiguration mAppBarConfiguration; private ActivityMainBinding binding; - private void iconicsInit() { - LayoutInflaterCompat.setFactory2(getLayoutInflater(), new IconicsLayoutInflater2(getDelegate())); - Iconics.init(getApplicationContext()); - Iconics.registerFont(new DevIcon()); - Iconics.registerFont(new CommunityMaterial()); - Iconics.registerFont(new GoogleMaterial()); - Iconics.registerFont(new Ionicons()); - Iconics.registerFont(new FontAwesome()); - Iconics.registerFont(new FoundationIcons()); - - // 初始化icon map - addFontMap(DevIcon.Icon.class); - addFontMap(CommunityMaterial.Icon.class); - addFontMap(GoogleMaterial.Icon.class); - addFontMap(Ionicons.Icon.class); - addFontMap(FontAwesome.Icon.class); - addFontMap(FoundationIcons.Icon.class); - } - - private void addFontMap(Class iconClass) { - - if (!iconClass.isEnum()) { - Log.d(this.getClass().getSimpleName(), iconClass.getName() + " class not enum class"); - return; - } - - List items = new ArrayList<>(); - - for (IIcon enumConstant : iconClass.getEnumConstants()) { - SavedIcon icon = new SavedIcon(); - icon.setId(Snowflake.next_id()); - icon.setIcon(enumConstant.getName()); - icon.setColor(String.valueOf(Color.BLACK)); - icon.setSize(52); - items.add(icon); - } - - IconRecycleAdapter.ICON_MAP.put(IconRecycleAdapter.getIconClassName(iconClass), items); - } - @Override protected void onCreate(Bundle savedInstanceState) { - // 初始化icon列表 - iconicsInit(); // 初始化数据库 DBManager.init(this); @@ -130,4 +67,14 @@ public class MainActivity extends AppCompatActivity { boolean navigateUp = NavigationUI.navigateUp(navController, mAppBarConfiguration); return navigateUp || super.onSupportNavigateUp(); } + + @Override + protected void init() { + + } + + @Override + protected void setListeners() { + + } } \ No newline at end of file diff --git a/app/src/main/java/cc/niushuai/dididone/ui/base/BaseActivity.java b/app/src/main/java/cc/niushuai/dididone/ui/base/BaseActivity.java index 9de08da..62dd96d 100644 --- a/app/src/main/java/cc/niushuai/dididone/ui/base/BaseActivity.java +++ b/app/src/main/java/cc/niushuai/dididone/ui/base/BaseActivity.java @@ -1,9 +1,83 @@ package cc.niushuai.dididone.ui.base; +import android.graphics.Color; +import android.os.Bundle; +import android.util.Log; + +import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; +import androidx.core.view.LayoutInflaterCompat; + +import com.mikepenz.community_material_typeface_library.CommunityMaterial; +import com.mikepenz.devicon_typeface_library.DevIcon; +import com.mikepenz.fontawesome_typeface_library.FontAwesome; +import com.mikepenz.foundation_icons_typeface_library.FoundationIcons; +import com.mikepenz.google_material_typeface_library.GoogleMaterial; +import com.mikepenz.iconics.Iconics; +import com.mikepenz.iconics.context.IconicsLayoutInflater2; +import com.mikepenz.iconics.typeface.IIcon; +import com.mikepenz.ionicons_typeface_library.Ionicons; + +import java.util.ArrayList; +import java.util.List; + +import cc.niushuai.dididone.biz.entity.SavedIcon; +import cc.niushuai.dididone.ui.setting.icon.recycle.IconRecycleAdapter; +import cc.niushuai.dididone.util.Snowflake; public abstract class BaseActivity extends AppCompatActivity { + private void iconicsInit() { + LayoutInflaterCompat.setFactory2(getLayoutInflater(), new IconicsLayoutInflater2(getDelegate())); + Iconics.init(getApplicationContext()); + Iconics.registerFont(new DevIcon()); + Iconics.registerFont(new CommunityMaterial()); + Iconics.registerFont(new GoogleMaterial()); + Iconics.registerFont(new Ionicons()); + Iconics.registerFont(new FontAwesome()); + Iconics.registerFont(new FoundationIcons()); + + // 初始化icon map + addFontMap(DevIcon.Icon.class); + addFontMap(CommunityMaterial.Icon.class); + addFontMap(GoogleMaterial.Icon.class); + addFontMap(Ionicons.Icon.class); + addFontMap(FontAwesome.Icon.class); + addFontMap(FoundationIcons.Icon.class); + } + + private void addFontMap(Class iconClass) { + + if (!iconClass.isEnum()) { + Log.d(this.getClass().getSimpleName(), iconClass.getName() + " class not enum class"); + return; + } + + List items = new ArrayList<>(); + + for (IIcon enumConstant : iconClass.getEnumConstants()) { + SavedIcon icon = new SavedIcon(); + icon.setId(Snowflake.next_id()); + icon.setIcon(enumConstant.getName()); + icon.setColor(String.valueOf(Color.BLACK)); + icon.setSize(52); + items.add(icon); + } + + IconRecycleAdapter.ICON_MAP.put(IconRecycleAdapter.getIconClassName(iconClass), items); + } + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + // 初始化字体 + iconicsInit(); + super.onCreate(savedInstanceState); + + init(); + + setListeners(); + } + /** * 初始化方法 * diff --git a/app/src/main/java/cc/niushuai/dididone/ui/setting/project/NewProjectActivity.java b/app/src/main/java/cc/niushuai/dididone/ui/setting/project/NewProjectActivity.java index 621bfd2..2ec8990 100644 --- a/app/src/main/java/cc/niushuai/dididone/ui/setting/project/NewProjectActivity.java +++ b/app/src/main/java/cc/niushuai/dididone/ui/setting/project/NewProjectActivity.java @@ -19,14 +19,14 @@ public class NewProjectActivity extends BaseActivity { binding = ActivityNewProjectBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); - - init(); - - setListeners(); } @Override protected void init() { + + // 设置标题 + setTitle("添加新打卡项"); + Intent intent = getIntent(); for (String key : intent.getExtras().keySet()) { XLog.d("key: {}, val: {}", key, intent.getStringExtra(key)); @@ -35,12 +35,12 @@ public class NewProjectActivity extends BaseActivity { @Override protected void setListeners() { - binding.npBtnBack.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - backClick(); - } - }); +// binding.npBtnBack.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View v) { +// backClick(); +// } +// }); } private void backClick() { diff --git a/app/src/main/res/layout/activity_new_project.xml b/app/src/main/res/layout/activity_new_project.xml index 9fd479d..c59adb2 100644 --- a/app/src/main/res/layout/activity_new_project.xml +++ b/app/src/main/res/layout/activity_new_project.xml @@ -4,23 +4,102 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + android:orientation="vertical" tools:context=".ui.setting.project.NewProjectActivity"> + app:layout_constraintWidth_percent="0.3" /> + + + + + + + +