Browse Source

[1001698]增加关于我们

zk 1 year ago
parent
commit
20034337aa

+ 58 - 0
app/src/main/java/com/datarecovery/master/module/about/AboutActivity.java

@@ -0,0 +1,58 @@
+package com.datarecovery.master.module.about;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+
+import androidx.annotation.NonNull;
+
+import com.atmob.app.lib.base.BaseActivity;
+import com.atmob.common.runtime.ContextUtil;
+import com.datarecovery.master.data.consts.Constants;
+import com.datarecovery.master.databinding.ActivityAboutBinding;
+import com.datarecovery.master.module.browser.BrowserActivity;
+import com.datarecovery.master.utils.SystemUtil;
+import com.gyf.immersionbar.ImmersionBar;
+
+import dagger.hilt.android.AndroidEntryPoint;
+
+/**
+ * 关于
+ */
+@AndroidEntryPoint
+public class AboutActivity extends BaseActivity<ActivityAboutBinding> {
+
+
+    public static void start(Context context) {
+        Intent intent = new Intent(context, AboutActivity.class);
+        if (!(context instanceof Activity)) {
+            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        }
+        context.startActivity(intent);
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        initView();
+    }
+
+    @Override
+    protected boolean shouldImmersion() {
+        return true;
+    }
+
+    @Override
+    protected void configImmersion(@NonNull ImmersionBar immersionBar) {
+        immersionBar.statusBarDarkFont(true);
+    }
+
+    private void initView() {
+        binding.tvVersionCode.setText(SystemUtil.getVersionName(getBaseContext()));
+        binding.toolBar.setNavigationOnClickListener(v -> onBackPressed());
+        addTopStatusBarHeight(binding.toolBar);
+        binding.setUserAgreementClick(v -> BrowserActivity.start(this, Constants.USER_AGREEMENT));
+        binding.setPrivacyAgreementClick(v -> BrowserActivity.start(this, Constants.PRIVACY_POLICY));
+    }
+}

+ 160 - 0
app/src/main/res/layout/activity_about.xml

@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools">
+
+    <data>
+
+        <variable
+            name="userAgreementClick"
+            type="android.view.View.OnClickListener" />
+
+        <variable
+            name="privacyAgreementClick"
+            type="android.view.View.OnClickListener" />
+    </data>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+
+        <androidx.appcompat.widget.Toolbar
+            android:id="@+id/tool_bar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:navigationIcon="@drawable/icon_back">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:text="@string/mine_about"
+                android:textColor="@color/common_txt_color"
+                android:textSize="17sp"
+                android:textStyle="bold" />
+
+        </androidx.appcompat.widget.Toolbar>
+
+        <ImageView
+            android:id="@+id/iv_icon"
+            android:layout_width="0dp"
+            android:layout_height="0dp"
+            android:src="@mipmap/ic_launcher"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintDimensionRatio="1:1"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tool_bar"
+            app:layout_constraintVertical_bias="0.157258064516129"
+            app:layout_constraintWidth_percent="0.2" />
+
+        <TextView
+            android:id="@+id/tv_app_name"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="12dp"
+            android:text="@string/app_name"
+            android:textColor="@color/black"
+            android:textSize="14sp"
+            android:textStyle="bold"
+            app:layout_constraintEnd_toEndOf="@+id/iv_icon"
+            app:layout_constraintStart_toStartOf="@+id/iv_icon"
+            app:layout_constraintTop_toBottomOf="@+id/iv_icon" />
+
+        <Space
+            android:id="@+id/space"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            app:layout_constraintDimensionRatio="360:56"
+            app:layout_constraintTop_toBottomOf="@+id/tv_app_name" />
+
+        <TextView
+            android:id="@+id/tv_version_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/app_common_page_horizontal_padding"
+            android:text="@string/version_title"
+            android:textColor="@color/common_txt_color"
+            android:textSize="14sp"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/space" />
+
+        <TextView
+            android:id="@+id/tv_version_code"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginEnd="@dimen/app_common_page_horizontal_padding"
+            android:textColor="#A7A7A7"
+            android:textSize="14sp"
+            app:layout_constraintBottom_toBottomOf="@+id/tv_version_title"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="@+id/tv_version_title"
+            tools:text="1.0.0" />
+
+
+        <TextView
+            android:id="@+id/tv_user_agreement"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/app_common_page_horizontal_padding"
+            android:layout_marginTop="16dp"
+            android:text="@string/about_user_agreement"
+            android:textColor="@color/common_txt_color"
+            android:textSize="14sp"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tv_version_title" />
+
+        <ImageView
+            android:layout_width="0dp"
+            android:layout_height="0dp"
+            android:layout_marginEnd="@dimen/app_common_page_horizontal_padding"
+            android:src="@drawable/icon_setting_arrow"
+            app:layout_constraintBottom_toBottomOf="@+id/tv_user_agreement"
+            app:layout_constraintDimensionRatio="1:1"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="@+id/tv_user_agreement"
+            app:layout_constraintWidth_percent="0.0555555555555556" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:onClick="@{userAgreementClick}"
+            app:layout_constraintBottom_toBottomOf="@+id/tv_user_agreement"
+            app:layout_constraintTop_toTopOf="@+id/tv_user_agreement" />
+
+        <TextView
+            android:id="@+id/tv_privacy_agreement"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/app_common_page_horizontal_padding"
+            android:layout_marginTop="16dp"
+            android:text="@string/about_privacy_agreement"
+            android:textColor="@color/common_txt_color"
+            android:textSize="14sp"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tv_user_agreement" />
+
+        <ImageView
+            android:layout_width="0dp"
+            android:layout_height="0dp"
+            android:layout_marginEnd="@dimen/app_common_page_horizontal_padding"
+            android:src="@drawable/icon_setting_arrow"
+            app:layout_constraintBottom_toBottomOf="@+id/tv_privacy_agreement"
+            app:layout_constraintDimensionRatio="1:1"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="@+id/tv_privacy_agreement"
+            app:layout_constraintWidth_percent="0.0555555555555556" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:onClick="@{privacyAgreementClick}"
+            app:layout_constraintBottom_toBottomOf="@+id/tv_privacy_agreement"
+            app:layout_constraintTop_toTopOf="@+id/tv_privacy_agreement" />
+
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</layout>