Drew %!s(int64=6) %!d(string=hai) anos
pai
achega
df279f8171
Modificáronse 27 ficheiros con 225 adicións e 33 borrados
  1. BIN=BIN
      app/release/app-release.apk
  2. 1 0
      app/release/output.json
  3. BIN=BIN
      app/sign.jks
  4. 3 2
      app/src/main/AndroidManifest.xml
  5. BIN=BIN
      app/src/main/assets/font/source_han_sans_sc_light.otf
  6. BIN=BIN
      app/src/main/assets/font/source_han_sans_sc_medium.otf
  7. BIN=BIN
      app/src/main/assets/font/source_han_sans_sc_normal.otf
  8. 4 3
      app/src/main/java/com/ht/gate/CustomKeyboardView.java
  9. 6 2
      app/src/main/java/com/ht/gate/LoginActivity.java
  10. 8 5
      app/src/main/java/com/ht/gate/MainActivity.java
  11. 23 0
      app/src/main/java/com/ht/gate/SettingsActivity.java
  12. 43 10
      app/src/main/java/com/ht/gate/UnlockView.java
  13. 10 0
      app/src/main/java/com/ht/gate/WelcomeActivity.java
  14. 0 6
      app/src/main/java/com/ht/gate/activity/BaseActivity.java
  15. BIN=BIN
      app/src/main/res/drawable/portrait.jpg
  16. 0 0
      app/src/main/res/font/roboto_normal.ttf
  17. 3 0
      app/src/main/res/layout/activity_login.xml
  18. 2 1
      app/src/main/res/layout/activity_main.xml
  19. 93 0
      app/src/main/res/layout/activity_settings.xml
  20. 16 3
      app/src/main/res/layout/activity_welcome.xml
  21. BIN=BIN
      app/src/main/res/mipmap-xxhdpi/icon_back.png
  22. BIN=BIN
      app/src/main/res/mipmap-xxhdpi/icon_unlocked.png
  23. BIN=BIN
      app/src/main/res/mipmap-xxhdpi/icon_unlocked_dark.png
  24. BIN=BIN
      app/src/main/res/mipmap-xxxhdpi/icon_back.png
  25. BIN=BIN
      app/src/main/res/mipmap-xxxhdpi/icon_unlocked.png
  26. BIN=BIN
      app/src/main/res/mipmap-xxxhdpi/icon_unlocked_dark.png
  27. 13 1
      app/src/main/res/values/styles.xml

BIN=BIN
app/release/app-release.apk


+ 1 - 0
app/release/output.json

@@ -0,0 +1 @@
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]

BIN=BIN
app/sign.jks


+ 3 - 2
app/src/main/AndroidManifest.xml

@@ -11,8 +11,9 @@
         android:supportsRtl="false"
         android:theme="@style/AppTheme"
         tools:ignore="GoogleAppIndexingWarning">
-        <activity android:name=".WelcomeActivity"></activity>
-        <activity android:name=".activity.MainActivity" />
+        <activity android:name=".SettingsActivity"></activity>
+        <activity android:name=".WelcomeActivity" />
+        <activity android:name=".MainActivity" />
         <activity android:name=".LoginActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />

BIN=BIN
app/src/main/assets/font/source_han_sans_sc_light.otf


BIN=BIN
app/src/main/assets/font/source_han_sans_sc_medium.otf


BIN=BIN
app/src/main/assets/font/source_han_sans_sc_normal.otf


+ 4 - 3
app/src/main/java/com/ht/gate/CustomKeyboardView.java

@@ -33,6 +33,7 @@ import android.view.animation.LinearInterpolator;
 import android.view.animation.TranslateAnimation;
 
 import androidx.annotation.Nullable;
+import androidx.core.content.res.ResourcesCompat;
 
 import com.ht.gate.R;
 
@@ -197,9 +198,9 @@ public class CustomKeyboardView extends View {
         mLegendBtnWidth = dp2px(75);
         mKeyOffsetX = 0;
         mKeyOffsetY = dp2px(12);
-        source_han_sans_sc_normal = Typeface.createFromAsset(this.getContext().getAssets(), "font/source_han_sans_sc_normal.otf");
-        source_han_sans_sc_medium = Typeface.createFromAsset(this.getContext().getAssets(), "font/source_han_sans_sc_medium.otf");
-        roboto_normal = Typeface.createFromAsset(this.getContext().getAssets(), "font/roboto_normal.ttf");
+        source_han_sans_sc_normal = ResourcesCompat.getFont(getContext(), R.font.source_han_sans_sc_normal);
+        source_han_sans_sc_medium = ResourcesCompat.getFont(getContext(), R.font.source_han_sans_sc_medium);
+        roboto_normal =  ResourcesCompat.getFont(getContext(), R.font.roboto_normal);
         filter = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG);
 
         mBitmapPaint = new Paint();

+ 6 - 2
app/src/main/java/com/ht/gate/LoginActivity.java

@@ -12,10 +12,9 @@ import android.view.MotionEvent;
 import android.view.View;
 import android.widget.EditText;
 
-import com.ht.gate.activity.MainActivity;
-
 import butterknife.BindView;
 import butterknife.ButterKnife;
+import butterknife.OnClick;
 
 public class LoginActivity extends AppCompatActivity {
 
@@ -109,4 +108,9 @@ public class LoginActivity extends AppCompatActivity {
                 | View.SYSTEM_UI_FLAG_IMMERSIVE;
         decorView.setSystemUiVisibility(uiOptions);
     }
+
+    @OnClick(R.id.btn_settings)
+    void onClickSettings() {
+        startActivity(new Intent(this, SettingsActivity.class));
+    }
 }

+ 8 - 5
app/src/main/java/com/ht/gate/activity/MainActivity.java → app/src/main/java/com/ht/gate/MainActivity.java

@@ -1,16 +1,14 @@
-package com.ht.gate.activity;
+package com.ht.gate;
 
 import androidx.appcompat.app.AppCompatActivity;
 
+import android.content.Intent;
 import android.os.Bundle;
 import android.view.View;
 
-import com.ht.gate.PasswordDialog;
-import com.ht.gate.R;
-import com.ht.gate.UnlockView;
-
 import butterknife.BindView;
 import butterknife.ButterKnife;
+import butterknife.OnClick;
 
 public class MainActivity extends AppCompatActivity {
 
@@ -37,4 +35,9 @@ public class MainActivity extends AppCompatActivity {
                 | View.SYSTEM_UI_FLAG_IMMERSIVE;
         decorView.setSystemUiVisibility(uiOptions);
     }
+
+    @OnClick(R.id.btn_settings)
+    void onClickSettings() {
+        startActivity(new Intent(this, SettingsActivity.class));
+    }
 }

+ 23 - 0
app/src/main/java/com/ht/gate/SettingsActivity.java

@@ -0,0 +1,23 @@
+package com.ht.gate;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+
+import butterknife.ButterKnife;
+import butterknife.OnClick;
+
+public class SettingsActivity extends AppCompatActivity {
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_settings);
+        ButterKnife.bind(this);
+    }
+
+    @OnClick(R.id.btn_back)
+    void back() {
+        finish();
+    }
+}

+ 43 - 10
app/src/main/java/com/ht/gate/UnlockView.java

@@ -24,6 +24,7 @@ import android.view.MotionEvent;
 import android.view.View;
 
 import androidx.annotation.Nullable;
+import androidx.core.content.res.ResourcesCompat;
 
 public class UnlockView extends View {
 
@@ -34,17 +35,20 @@ public class UnlockView extends View {
     private Path borderPath;
     private float borderWidth;
     private Bitmap bmUnlock;
+    private Bitmap bmUnlocked;
     private float distance = 0;
     private float padding = 0;
     private boolean down;
     private float lastX;
-    private Rect src;
-    private RectF dst;
+    private Rect src, src1;
+    private RectF dst, dst1;
     private DrawFilter drawFilter;
     private Typeface source_han_sans_sc_normal;
     private Typeface source_han_sans_sc_light;
     private int colorLight = 0xFFFFFFFF;
     private int colorDark = 0xFF222639;
+    private int colorUnlockedLight = 0x11C1C3CD;
+    private int colorUnlockedDark = 0x1E222639;
     private boolean dark;
 
     private String hint;
@@ -84,8 +88,8 @@ public class UnlockView extends View {
         dark = t.getBoolean(R.styleable.UnlockView_darkMode, false);
         t.recycle();
 
-        source_han_sans_sc_normal = Typeface.createFromAsset(this.getContext().getAssets(), "font/source_han_sans_sc_normal.otf");
-        source_han_sans_sc_light = Typeface.createFromAsset(this.getContext().getAssets(), "font/source_han_sans_sc_light.otf");
+        source_han_sans_sc_normal = ResourcesCompat.getFont(getContext(), R.font.source_han_sans_sc_normal);
+        source_han_sans_sc_light = ResourcesCompat.getFont(getContext(), R.font.source_han_sans_sc_light);
         borderPaint = new Paint();
         borderPaint.setAntiAlias(true);
         borderWidth = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, getContext().getResources().getDisplayMetrics());
@@ -95,8 +99,11 @@ public class UnlockView extends View {
         borderPath = new Path();
         padding = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 7, getContext().getResources().getDisplayMetrics());
         bmUnlock = BitmapFactory.decodeResource(getResources(), dark ? R.mipmap.icon_unlock_dark : R.mipmap.icon_unlock);
+        bmUnlocked = BitmapFactory.decodeResource(getResources(), dark ? R.mipmap.icon_unlocked_dark : R.mipmap.icon_unlocked);
         src = new Rect(0, 0, bmUnlock.getWidth(), bmUnlock.getHeight());
         dst = new RectF();
+        src1 = new Rect(0, 0, bmUnlocked.getWidth(), bmUnlocked.getHeight());
+        dst1 = new RectF();
 
         drawFilter = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG);
 
@@ -111,6 +118,11 @@ public class UnlockView extends View {
         textPaint.setTypeface(source_han_sans_sc_light);
     }
 
+    public void setUnlocked(boolean unlocked) {
+        this.unlocked = unlocked;
+        postInvalidate();
+    }
+
     @Override
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
         super.onMeasure(widthMeasureSpec, heightMeasureSpec);
@@ -124,15 +136,36 @@ public class UnlockView extends View {
         float height = getHeight();
         float d = (height - borderWidth);
         float r = d / 2;
-        if (dark) {
-            borderPaint.setColor(colorDark);
-            textPaint.setColor(colorDark);
+
+        if (unlocked) {
+            borderPaint.setColor(dark ? colorUnlockedDark : colorUnlockedLight);
+            borderPaint.setStyle(Paint.Style.FILL);
+            textPaint.setColor(dark ? colorDark : colorLight);
+            canvas.drawRoundRect(0, 0, width, height, height / 2, height / 2, borderPaint);
+            float textWidth = textPaint.measureText("已解锁");
+            float baseLineY = Math.abs(textPaint.ascent() + textPaint.descent()) / 2 + getHeight() / 2f;
+            canvas.drawText("已解锁", (getWidth() + dp2px(32)) / 2f - textWidth / 2, baseLineY, textPaint);
+
+            dst1.left = (width - textPaint.measureText("已解锁") - dp2px(32)) / 2;
+            dst1.top = (height - dp2px(26)) / 2;
+            dst1.right = dst1.left + dp2px(21);
+            dst1.bottom = dst1.top + dp2px(26);
+            canvas.drawBitmap(bmUnlocked, src1, dst1, null);
+            return;
         } else {
-            borderPaint.setColor(colorLight);
-            textPaint.setColor(colorLight);
+            borderPaint.setStyle(Paint.Style.STROKE);
+            if (dark) {
+                borderPaint.setColor(colorDark);
+                textPaint.setColor(colorDark);
+            } else {
+                borderPaint.setColor(colorLight);
+                textPaint.setColor(colorLight);
+            }
         }
+
         borderPath.reset();
         borderPath.moveTo(r + borderWidth / 2, borderWidth / 2);
+        borderPath.lineTo(r + borderWidth / 2, borderWidth / 2);
         borderPath.lineTo(width - r, borderWidth / 2);
         borderPath.arcTo(width - d - borderWidth / 2, borderWidth / 2, width - borderWidth / 2, height - borderWidth / 2, -90, 180, true);
         borderPath.lineTo(r + borderWidth / 2, height - borderWidth / 2);
@@ -187,13 +220,13 @@ public class UnlockView extends View {
                 if (down) {
                     distance += event.getX() - lastX;
                     lastX = event.getX();
-                    postInvalidate();
                     if (distance >= getWidth() - padding * 2 - (getHeight() - padding * 2) && !unlocked) {
                         unlocked = true;
                         if (unlockListener != null) {
                             unlockListener.onUnlock();
                         }
                     }
+                    postInvalidate();
                 }
                 break;
         }

+ 10 - 0
app/src/main/java/com/ht/gate/WelcomeActivity.java

@@ -2,13 +2,23 @@ package com.ht.gate;
 
 import androidx.appcompat.app.AppCompatActivity;
 
+import android.content.Intent;
 import android.os.Bundle;
 
+import butterknife.ButterKnife;
+import butterknife.OnClick;
+
 public class WelcomeActivity extends AppCompatActivity {
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_welcome);
+        ButterKnife.bind(this);
+    }
+
+    @OnClick(R.id.btn_settings)
+    void onClickSettings() {
+        startActivity(new Intent(this, SettingsActivity.class));
     }
 }

+ 0 - 6
app/src/main/java/com/ht/gate/activity/BaseActivity.java

@@ -1,6 +0,0 @@
-package com.ht.gate.activity;
-
-import androidx.appcompat.app.AppCompatActivity;
-
-public class BaseActivity extends AppCompatActivity {
-}

BIN=BIN
app/src/main/res/drawable/portrait.jpg


+ 0 - 0
app/src/main/assets/font/roboto_normal.ttf → app/src/main/res/font/roboto_normal.ttf


+ 3 - 0
app/src/main/res/layout/activity_login.xml

@@ -14,6 +14,7 @@
         android:layout_height="match_parent" />
 
     <ImageButton
+        android:id="@+id/btn_settings"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginTop="18dp"
@@ -40,6 +41,7 @@
         android:layout_height="wrap_content"
         android:layout_marginTop="61dp"
         android:fontFamily="@font/fzqkbysjw"
+        android:gravity="center"
         android:text="分支机构\n共享财富空间系统"
         android:textAlignment="center"
         android:textColor="@color/colorPrimary"
@@ -66,6 +68,7 @@
         android:layout_marginTop="360dp"
         android:layout_marginRight="28dp"
         android:background="@drawable/bg_edit"
+        android:fontFamily="@font/source_han_sans_sc_medium"
         android:gravity="center"
         android:maxLines="1"
         android:textSize="37sp"

+ 2 - 1
app/src/main/res/layout/activity_main.xml

@@ -4,13 +4,14 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    tools:context=".activity.MainActivity">
+    tools:context=".MainActivity">
 
     <com.ht.gate.VideoBackground
         android:layout_width="match_parent"
         android:layout_height="match_parent" />
 
     <ImageButton
+        android:id="@+id/btn_settings"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginTop="18dp"

+ 93 - 0
app/src/main/res/layout/activity_settings.xml

@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout 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"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".SettingsActivity">
+
+    <com.ht.gate.VideoBackground
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+
+    <ImageButton
+        android:id="@+id/btn_back"
+        android:layout_width="48dp"
+        android:layout_height="48dp"
+        android:layout_marginLeft="36dp"
+        android:layout_marginTop="25dp"
+        android:background="@android:color/transparent"
+        android:scaleType="centerInside"
+        android:src="@mipmap/icon_back"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="44dp"
+        android:layout_marginTop="93dp"
+        android:layout_marginRight="44dp"
+        android:orientation="vertical"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:fontFamily="@font/fzqkbysjw"
+            android:text="设置"
+            android:textColor="#E4BF85"
+            android:textSize="64sp" />
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:fontFamily="@font/fzqkbysjw"
+            android:text="财富管理室A01"
+            android:textColor="#E4BF85"
+            android:textSize="38sp" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="89dp"
+            android:layout_marginTop="82dp"
+            android:gravity="center"
+            android:orientation="horizontal">
+
+            <TextView
+                android:layout_width="115dp"
+                android:layout_height="wrap_content"
+                android:text="当前版本"
+                android:textColor="@android:color/white"
+                android:textSize="18sp" />
+
+            <TextView
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:fontFamily="@font/source_han_sans_sc_medium"
+                android:text="V1.0.0"
+                android:textColor="@android:color/white"
+                android:textSize="18sp" />
+
+            <Button
+                style="@style/Widget.AppCompat.Button.Borderless"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:background="?selectableItemBackgroundBorderless"
+                android:fontFamily="@font/source_han_sans_sc_medium"
+                android:minWidth="0dp"
+                android:paddingLeft="9dp"
+                android:paddingRight="9dp"
+                android:text="更新"
+                android:textColor="#E4BF85"
+                android:textSize="18dp" />
+        </LinearLayout>
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="1dp"
+            android:background="#4df2f4f5" />
+    </LinearLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 16 - 3
app/src/main/res/layout/activity_welcome.xml

@@ -58,6 +58,7 @@
     </androidx.constraintlayout.widget.ConstraintLayout>
 
     <ImageButton
+        android:id="@+id/btn_settings"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginTop="18dp"
@@ -127,11 +128,13 @@
                 <TextView
                     android:id="@+id/tv_adviser_name"
                     android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
+                    android:layout_height="55dp"
                     android:fontFamily="@font/source_han_sans_sc_medium"
+                    android:gravity="center"
                     android:text="黄展涛"
                     android:textColor="@android:color/white"
                     android:textSize="39sp"
+                    app:layout_constraintBottom_toBottomOf="parent"
                     app:layout_constraintLeft_toLeftOf="parent"
                     app:layout_constraintTop_toTopOf="parent" />
 
@@ -163,7 +166,7 @@
                 android:layout_height="wrap_content"
                 android:layout_marginTop="11dp"
                 android:fontFamily="@font/source_han_sans_sc_light"
-                android:text="20年从业经验,经历多次牛转换磨练,对市场具有一定的敏感度,注重价值投资,资产配置,秉承专业的投资理念服务客户"
+                android:text="20年从业经验,经历多次牛转换磨练,对市场具有一定的敏感度,注重价值投资,资产配置,秉承专业的投资理念服务客户"
                 android:textColor="#80ffffff"
                 android:textSize="12sp" />
 
@@ -171,6 +174,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="21dp"
+                android:fontFamily="@font/source_han_sans_sc_light"
                 android:text="执业证书编号:S0570116120025"
                 android:textColor="#80ffffff"
                 android:textSize="12sp" />
@@ -190,12 +194,21 @@
                     android:layout_height="wrap_content"
                     android:layout_centerHorizontal="true"
                     android:layout_marginTop="14dp"
-                    android:fontFamily="@font/source_han_sans_sc_medium"
+                    android:fontFamily="@font/source_han_sans_sc_light"
                     android:text="20年"
                     android:textColor="#ffe4bf85"
                     android:textSize="15sp" />
             </RelativeLayout>
         </LinearLayout>
+
+        <ImageView
+            android:layout_width="311dp"
+            android:layout_height="373dp"
+            android:foregroundGravity="bottom|right"
+            android:scaleType="fitEnd"
+            android:src="@drawable/portrait"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintRight_toRightOf="parent" />
     </androidx.constraintlayout.widget.ConstraintLayout>
 
 </androidx.constraintlayout.widget.ConstraintLayout>

BIN=BIN
app/src/main/res/mipmap-xxhdpi/icon_back.png


BIN=BIN
app/src/main/res/mipmap-xxhdpi/icon_unlocked.png


BIN=BIN
app/src/main/res/mipmap-xxhdpi/icon_unlocked_dark.png


BIN=BIN
app/src/main/res/mipmap-xxxhdpi/icon_back.png


BIN=BIN
app/src/main/res/mipmap-xxxhdpi/icon_unlocked.png


BIN=BIN
app/src/main/res/mipmap-xxxhdpi/icon_unlocked_dark.png


+ 13 - 1
app/src/main/res/values/styles.xml

@@ -8,7 +8,9 @@
         <item name="colorAccent">@color/colorAccent</item>
         <item name="android:windowBackground">@color/windowBackground</item>
         <item name="android:windowFullscreen">true</item>
-<!--        <item name="android:fontFamily">@font/source_han_sans_sc_normal</item>-->
+        <item name="android:textViewStyle">@style/TextViewStyle</item>
+        <item name="editTextStyle">@style/EditTextStyle</item>
+        <item name="android:fontFamily">@font/source_han_sans_sc_normal</item>
     </style>
 
     <style name="DialogStyle" parent="Theme.AppCompat.Dialog">
@@ -18,10 +20,20 @@
         <item name="android:windowBackground">@android:color/transparent</item>
         <item name="android:windowIsFloating">true</item>
         <item name="android:windowIsTranslucent">true</item>
+        <item name="android:textViewStyle">@style/TextViewStyle</item>
+        <item name="editTextStyle">@style/EditTextStyle</item>
     </style>
 
     <style name="DialogAnimation" parent="Animation.AppCompat.Dialog">
         <item name="android:windowEnterAnimation">@anim/dialog_enter</item>
         <item name="android:windowExitAnimation">@anim/dialog_exit</item>
     </style>
+
+    <style name="TextViewStyle" parent="Widget.AppCompat.TextView">
+        <item name="android:includeFontPadding">false</item>
+    </style>
+
+    <style name="EditTextStyle" parent="Widget.AppCompat.EditText">
+        <item name="android:includeFontPadding">false</item>
+    </style>
 </resources>