From da2024586c9bc988800f94bc6ecb5f510d42c4e2 Mon Sep 17 00:00:00 2001 From: fyf Date: Fri, 14 Apr 2023 12:22:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=AA=97=E4=BD=93=E6=89=93?= =?UTF-8?q?=E5=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 3 + app/src/main/AndroidManifest.xml | 32 +++-- .../java/com/example/bpa/MainActivity.java | 109 +++++++++++++++--- .../com/example/bpa/config/ConfigName.java | 2 +- .../com/example/bpa/view/CloudFragment.java | 26 +++++ .../com/example/bpa/view/HeplerFragment.java | 26 +++++ .../com/example/bpa/view/HomeFragment.java | 26 +++++ .../bpa/view/SystemCapabilitiesFragment.java | 26 +++++ .../example/bpa/view/SystemSetFragment.java | 25 ++++ app/src/main/res/layout/activity_main.xml | 25 +++- app/src/main/res/layout/fragment_cloud.xml | 15 +++ app/src/main/res/layout/fragment_hepler.xml | 15 +++ app/src/main/res/layout/fragment_home.xml | 15 +++ .../layout/fragment_system_capabilities.xml | 15 +++ .../main/res/layout/fragment_system_set.xml | 15 +++ app/src/main/res/mipmap-xhdpi/tc.png | Bin 0 -> 7512 bytes app/src/main/res/mipmap-xhdpi/ts.png | Bin 0 -> 10856 bytes app/src/main/res/mipmap-xhdpi/zy.png | Bin 0 -> 5268 bytes app/src/main/res/values-night/themes.xml | 7 ++ app/src/main/res/values/attrs.xml | 6 + app/src/main/res/values/colors.xml | 10 +- app/src/main/res/values/strings.xml | 2 + app/src/main/res/values/styles.xml | 6 + app/src/main/res/values/themes.xml | 7 ++ 24 files changed, 384 insertions(+), 29 deletions(-) create mode 100644 app/src/main/java/com/example/bpa/view/CloudFragment.java create mode 100644 app/src/main/java/com/example/bpa/view/HeplerFragment.java create mode 100644 app/src/main/java/com/example/bpa/view/HomeFragment.java create mode 100644 app/src/main/java/com/example/bpa/view/SystemCapabilitiesFragment.java create mode 100644 app/src/main/java/com/example/bpa/view/SystemSetFragment.java create mode 100644 app/src/main/res/layout/fragment_cloud.xml create mode 100644 app/src/main/res/layout/fragment_hepler.xml create mode 100644 app/src/main/res/layout/fragment_home.xml create mode 100644 app/src/main/res/layout/fragment_system_capabilities.xml create mode 100644 app/src/main/res/layout/fragment_system_set.xml create mode 100644 app/src/main/res/mipmap-xhdpi/tc.png create mode 100644 app/src/main/res/mipmap-xhdpi/ts.png create mode 100644 app/src/main/res/mipmap-xhdpi/zy.png create mode 100644 app/src/main/res/values-night/themes.xml create mode 100644 app/src/main/res/values/attrs.xml create mode 100644 app/src/main/res/values/themes.xml diff --git a/app/build.gradle b/app/build.gradle index 84875b4..1033fcc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -25,6 +25,9 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } + buildFeatures { + viewBinding true + } } dependencies { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e98f0eb..f926396 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,32 +2,50 @@ - - + + - + + + + + + + + android:exported="true"> + - + android:exported="false" /> \ No newline at end of file diff --git a/app/src/main/java/com/example/bpa/MainActivity.java b/app/src/main/java/com/example/bpa/MainActivity.java index 5beabd1..dba9ae8 100644 --- a/app/src/main/java/com/example/bpa/MainActivity.java +++ b/app/src/main/java/com/example/bpa/MainActivity.java @@ -1,30 +1,57 @@ package com.example.bpa; import android.app.Activity; +import android.app.AlertDialog; +import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; +import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.TextView; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; import androidx.viewpager.widget.ViewPager; import com.example.bpa.app.Main; import com.example.bpa.config.ConfigName; import com.example.bpa.helper.T; +import com.example.bpa.view.CloudFragment; +import com.example.bpa.view.HeplerFragment; +import com.example.bpa.view.HomeFragment; +import com.example.bpa.view.SystemCapabilitiesFragment; +import com.example.bpa.view.SystemSetFragment; -public class MainActivity extends Activity implements View.OnClickListener{ +public class MainActivity extends FragmentActivity implements View.OnClickListener{ //region 界面变量 //标题 private TextView clist_title; //返回 云端 系统功能 系统设置 系统帮助 - private ImageView mainreturn,CloudUpdates,SystemCapabilities,SystemSettings,SystemHelp; + private ImageView CloudUpdates,SystemCapabilities,SystemSettings,SystemHelp,HomeMain,ColseMain; //页面 - private ViewPager id_viewpager; + private FrameLayout fragment_container; + + //endregion + + //region 界面 + //主页 + public HomeFragment homeFragment=new HomeFragment(); + //更新 + public CloudFragment cloudFragment=new CloudFragment(); + //系统功能 + public SystemCapabilitiesFragment systemCapabilitiesFragment=new SystemCapabilitiesFragment(); + //系统设置 + public SystemSetFragment systemSetFragment=new SystemSetFragment(); + //系统帮助 + public HeplerFragment heplerFragment=new HeplerFragment(); //endregion + //region 私有函数 @Override protected void onCreate(Bundle savedInstanceState) { @@ -41,23 +68,27 @@ public class MainActivity extends Activity implements View.OnClickListener{ */ private void Init() { clist_title = findViewById(R.id.clist_title); - mainreturn = findViewById(R.id.mainreturn); CloudUpdates = findViewById(R.id.CloudUpdates); SystemCapabilities = findViewById(R.id.SystemCapabilities); SystemSettings = findViewById(R.id.SystemSettings); SystemHelp = findViewById(R.id.SystemHelp); - id_viewpager= findViewById(R.id.id_viewpager); + HomeMain= findViewById(R.id.HomeMain); + ColseMain= findViewById(R.id.ColseMain); + fragment_container= findViewById(R.id.fragment_container); + clist_title.setText(ConfigName.getInstance().Shop_Name); + ShowFragment(homeFragment); } /** * 初始化按钮事件 */ private void initEvents() { //设置四个Tab的点击事件 - mainreturn.setOnClickListener(this); CloudUpdates.setOnClickListener(this); SystemCapabilities.setOnClickListener(this); SystemSettings.setOnClickListener(this); SystemHelp.setOnClickListener(this); + HomeMain.setOnClickListener(this); + ColseMain.setOnClickListener(this); } //endregion @@ -70,22 +101,74 @@ public class MainActivity extends Activity implements View.OnClickListener{ @Override public void onClick(View v) { switch (v.getId()) { - case R.id.mainreturn://返回按钮 - - break; case R.id.CloudUpdates://系统更新按钮 - + ShowFragment(cloudFragment); break; case R.id.SystemCapabilities://系统功能按钮 - + ShowFragment(systemCapabilitiesFragment); break; case R.id.SystemSettings://系统设置按钮 - + ShowFragment(systemSetFragment); break; case R.id.SystemHelp://系统帮助按钮 - + ShowFragment(heplerFragment); + break; + case R.id.HomeMain://主页 + ShowFragment(homeFragment); + break; + case R.id.ColseMain://关闭主窗体 + ColseActive(); break; } } + + /** + * 当前选中窗体 + */ + public Fragment SelectFragment=null; + /** + * 打开窗体 + */ + public void ShowFragment(Fragment fragment) + { + FragmentManager manager = getSupportFragmentManager(); + FragmentTransaction transaction = manager.beginTransaction(); + if(SelectFragment!=null) + { + transaction.remove(SelectFragment); + } + transaction.add(R.id.fragment_container, fragment); + transaction.commit(); + SelectFragment=fragment; + } + + /** + * 关闭主窗体 + */ + public void ColseActive() + { + // 1.创建弹框对象,显示在当前页面 + AlertDialog.Builder ab = new AlertDialog.Builder(MainActivity.this); + // 2.编辑弹框样式 + // 2.1 创建标题 + ab.setTitle("退出安全提示"); + // 2.3 设置图标 + ab.setIcon(R.mipmap.ts); + // 2.4 设置内容 + ab.setMessage("您是否确定退出程序?"); + // 2.5 设置按钮 + ab.setPositiveButton("取消",null); + ab.setNeutralButton("确定", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + // 实现程序的退出,结束当前 + MainActivity.this.finish(); + } + }); + // 3.创建弹框 + ab.create(); + // 4.显示弹框 + ab.show(); + } //endregion } \ No newline at end of file diff --git a/app/src/main/java/com/example/bpa/config/ConfigName.java b/app/src/main/java/com/example/bpa/config/ConfigName.java index 5967d4a..68985a8 100644 --- a/app/src/main/java/com/example/bpa/config/ConfigName.java +++ b/app/src/main/java/com/example/bpa/config/ConfigName.java @@ -43,7 +43,7 @@ public class ConfigName { /** * 店铺名称 */ - public String Shop_Name="茶百道测试app"; + public String Shop_Name="黑菠萝奶茶机"; /** * 店铺设备号 */ diff --git a/app/src/main/java/com/example/bpa/view/CloudFragment.java b/app/src/main/java/com/example/bpa/view/CloudFragment.java new file mode 100644 index 0000000..3274fbb --- /dev/null +++ b/app/src/main/java/com/example/bpa/view/CloudFragment.java @@ -0,0 +1,26 @@ +package com.example.bpa.view; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.Fragment; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.example.bpa.R; + +/** + * 上传云端界面 + */ +public class CloudFragment extends Fragment { + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_cloud, container,false); + return view; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/bpa/view/HeplerFragment.java b/app/src/main/java/com/example/bpa/view/HeplerFragment.java new file mode 100644 index 0000000..96bfb63 --- /dev/null +++ b/app/src/main/java/com/example/bpa/view/HeplerFragment.java @@ -0,0 +1,26 @@ +package com.example.bpa.view; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.Fragment; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.example.bpa.R; + +/** + * 系统帮助界面 + */ +public class HeplerFragment extends Fragment { + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_hepler, container,false); + return view; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/bpa/view/HomeFragment.java b/app/src/main/java/com/example/bpa/view/HomeFragment.java new file mode 100644 index 0000000..35f65ae --- /dev/null +++ b/app/src/main/java/com/example/bpa/view/HomeFragment.java @@ -0,0 +1,26 @@ +package com.example.bpa.view; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.Fragment; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.example.bpa.R; + +/** + * 主页界面 + */ +public class HomeFragment extends Fragment { + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_home, container,false); + return view; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/bpa/view/SystemCapabilitiesFragment.java b/app/src/main/java/com/example/bpa/view/SystemCapabilitiesFragment.java new file mode 100644 index 0000000..9ed1042 --- /dev/null +++ b/app/src/main/java/com/example/bpa/view/SystemCapabilitiesFragment.java @@ -0,0 +1,26 @@ +package com.example.bpa.view; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.Fragment; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.example.bpa.R; + +/** + * 系统功能界面 + */ +public class SystemCapabilitiesFragment extends Fragment { + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_system_capabilities, container,false); + return view; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/bpa/view/SystemSetFragment.java b/app/src/main/java/com/example/bpa/view/SystemSetFragment.java new file mode 100644 index 0000000..ce55f33 --- /dev/null +++ b/app/src/main/java/com/example/bpa/view/SystemSetFragment.java @@ -0,0 +1,25 @@ +package com.example.bpa.view; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.Fragment; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.example.bpa.R; + +/** + * 系统设置界面 + */ +public class SystemSetFragment extends Fragment { + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_system_set, container,false); + return view; + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 277385a..d42f939 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -20,6 +20,7 @@ android:layout_centerVertical="true" android:layout_marginLeft="20dp" android:src="@mipmap/zj" + android:visibility="invisible" /> + + @@ -87,10 +104,8 @@ android:layout_width="match_parent" android:layout_height="1dp" android:background="#FF03668F" /> - - + android:layout_height="match_parent"/> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_cloud.xml b/app/src/main/res/layout/fragment_cloud.xml new file mode 100644 index 0000000..850738b --- /dev/null +++ b/app/src/main/res/layout/fragment_cloud.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_hepler.xml b/app/src/main/res/layout/fragment_hepler.xml new file mode 100644 index 0000000..21a49cb --- /dev/null +++ b/app/src/main/res/layout/fragment_hepler.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml new file mode 100644 index 0000000..bf86a10 --- /dev/null +++ b/app/src/main/res/layout/fragment_home.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_system_capabilities.xml b/app/src/main/res/layout/fragment_system_capabilities.xml new file mode 100644 index 0000000..34829b6 --- /dev/null +++ b/app/src/main/res/layout/fragment_system_capabilities.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_system_set.xml b/app/src/main/res/layout/fragment_system_set.xml new file mode 100644 index 0000000..bf1e077 --- /dev/null +++ b/app/src/main/res/layout/fragment_system_set.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-xhdpi/tc.png b/app/src/main/res/mipmap-xhdpi/tc.png new file mode 100644 index 0000000000000000000000000000000000000000..7c06aef882c20c8aaeea79cf5ec50333b2741e23 GIT binary patch literal 7512 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 Yyee%y*y8?%8I=MQWmRP=rOe*^A4OC*+W-In literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ts.png b/app/src/main/res/mipmap-xhdpi/ts.png new file mode 100644 index 0000000000000000000000000000000000000000..9522cd47d5f5434c91e2ef59e2d8b7b089818c84 GIT binary patch literal 10856 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 + + + \ No newline at end of file diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml new file mode 100644 index 0000000..e52391d --- /dev/null +++ b/app/src/main/res/values/attrs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 6e86ebe..aad28b5 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -1,5 +1,4 @@ - - -#FF061B51 + #FF061B51 #0A1026 #0A1026 #F57F17 @@ -71,4 +70,9 @@ @color/app_color_theme_4 @color/app_color_blue @color/app_color_theme_3 + #FF039BE5 + #FF01579B + #FF40C4FF + #FF00B0FF + #66000000 \ 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 014c9ef..9a48144 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -161,5 +161,7 @@ 访问官网 GitHub © %1$s QMUI Team All rights reserved. + Dummy Button + DUMMY\nCONTENT diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index b565a56..8eace1c 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -15,6 +15,7 @@ --> + + + diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..c8e755c --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file