Browse Source

further optimize layout to mimic dialog

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
Andy Scherzinger 4 years ago
parent
commit
a2ac0d427a

+ 3 - 4
src/main/java/com/owncloud/android/ui/activity/PassCodeActivity.java

@@ -33,10 +33,10 @@ import android.view.View;
 import android.view.View.OnClickListener;
 import android.view.Window;
 import android.view.inputmethod.InputMethodManager;
-import android.widget.Button;
 import android.widget.EditText;
 import android.widget.TextView;
 
+import com.google.android.material.button.MaterialButton;
 import com.google.android.material.snackbar.Snackbar;
 import com.nextcloud.client.di.Injectable;
 import com.nextcloud.client.preferences.AppPreferences;
@@ -70,7 +70,7 @@ public class PassCodeActivity extends AppCompatActivity implements Injectable {
     public final static String PREFERENCE_PASSCODE_D4 = "PrefPinCode4";
 
     @Inject AppPreferences preferences;
-    private Button mBCancel;
+    private MaterialButton mBCancel;
     private TextView mPassCodeHdr;
     private TextView mPassCodeHdrExplanation;
     private EditText[] mPassCodeEditTexts = new EditText[4];
@@ -82,7 +82,6 @@ public class PassCodeActivity extends AppCompatActivity implements Injectable {
 
     private boolean mBChange = true; // to control that only one blocks jump
 
-
     /**
      * Initializes the activity.
      *
@@ -98,7 +97,7 @@ public class PassCodeActivity extends AppCompatActivity implements Injectable {
         int elementColor = ThemeUtils.primaryColor(this);
 
         mBCancel = findViewById(R.id.cancel);
-        ThemeUtils.colorPrimaryButton(mBCancel, this);
+        ThemeUtils.themeDialogActionButton(mBCancel);
 
         mPassCodeHdr = findViewById(R.id.header);
         mPassCodeHdrExplanation = findViewById(R.id.explanation);

+ 83 - 77
src/main/res/layout/passcodelock.xml

@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?><!--
-  ownCloud Android client application
+  Nextcloud Android client application
 
-  Copyright (C) 2012  Bartek Przybylski
+  Copyright (C) 2012 Bartek Przybylski
   Copyright (C) 2015 ownCloud Inc.
+  Copyright (C) 2020 Andy Scherzinger
 
   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License version 2,
@@ -17,99 +18,104 @@
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 -->
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent"
-    android:background="@color/bg_default"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:gravity="center_horizontal">
 
-    android:gravity="center_horizontal"
-    android:padding="@dimen/standard_padding">
-
-    <androidx.cardview.widget.CardView
-        xmlns:card_view="http://schemas.android.com/apk/res-auto"
+    <androidx.cardview.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
         android:id="@+id/card_view"
-        android:layout_width="wrap_content"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_gravity="center"
-        card_view:cardCornerRadius="4dp">
+        android:layout_margin="@dimen/standard_double_margin"
+        card_view:cardCornerRadius="4dp"
+        card_view:cardElevation="@dimen/dialog_elevation">
 
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:padding="@dimen/standard_padding"
             android:orientation="vertical">
 
-            <TextView
-                android:id="@+id/header"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center_horizontal"
-                android:gravity="center_horizontal"
-                android:text="@string/pass_code_enter_pass_code"
-                android:textColor="@color/text_color"
-                android:textSize="@dimen/two_line_primary_text_size" />
-
-            <TextView
-                android:id="@+id/explanation"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center_horizontal"
-                android:gravity="center_horizontal"
-                android:text="@string/pass_code_configure_your_pass_code_explanation"
-                android:textAppearance="@android:style/TextAppearance.Small"
-                android:textSize="@dimen/two_line_secondary_text_size" />
-
             <LinearLayout
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:gravity="center_horizontal">
-
-                <com.google.android.material.textfield.TextInputEditText
-                    android:id="@+id/txt0"
-                    style="@style/PassCodeStyle"
-                    android:cursorVisible="true"
-                    android:focusable="true"
-                    android:hint="@string/hidden_character"
-                    android:imeOptions="flagNoExtractUi"
-                    android:importantForAutofill="no"
-                    android:textCursorDrawable="@color/primary">
-
-                    <requestFocus />
-                </com.google.android.material.textfield.TextInputEditText>
-
-                <com.google.android.material.textfield.TextInputEditText
-                    android:id="@+id/txt1"
-                    style="@style/PassCodeStyle"
-                    android:cursorVisible="true"
-                    android:hint="@string/hidden_character"
-                    android:imeOptions="flagNoExtractUi"
-                    android:importantForAutofill="no" />
-
-                <com.google.android.material.textfield.TextInputEditText
-                    android:id="@+id/txt2"
-                    style="@style/PassCodeStyle"
-                    android:cursorVisible="true"
-                    android:hint="@string/hidden_character"
-                    android:imeOptions="flagNoExtractUi"
-                    android:importantForAutofill="no" />
-
-                <com.google.android.material.textfield.TextInputEditText
-                    android:id="@+id/txt3"
-                    style="@style/PassCodeStyle"
-                    android:cursorVisible="true"
-                    android:hint="@string/hidden_character"
-                    android:imeOptions="flagNoExtractUi"
-                    android:importantForAutofill="no" />
+                android:orientation="vertical"
+                android:paddingStart="@dimen/standard_padding"
+                android:paddingTop="@dimen/standard_padding"
+                android:paddingEnd="@dimen/standard_padding"
+                android:paddingBottom="@dimen/zero">
+
+                <TextView
+                    android:id="@+id/header"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:paddingBottom="@dimen/standard_padding"
+                    android:text="@string/pass_code_enter_pass_code"
+                    android:textColor="@color/text_color"
+                    android:textSize="@dimen/two_line_primary_text_size"
+                    android:textStyle="bold" />
+
+                <TextView
+                    android:id="@+id/explanation"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center_horizontal"
+                    android:text="@string/pass_code_configure_your_pass_code_explanation"
+                    android:textAppearance="@android:style/TextAppearance.Small"
+                    android:textSize="@dimen/two_line_secondary_text_size" />
+
+                <LinearLayout
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:gravity="center_horizontal">
+
+                    <com.google.android.material.textfield.TextInputEditText
+                        android:id="@+id/txt0"
+                        style="@style/PassCodeStyle"
+                        android:cursorVisible="true"
+                        android:focusable="true"
+                        android:hint="@string/hidden_character"
+                        android:imeOptions="flagNoExtractUi"
+                        android:importantForAutofill="no"
+                        android:textCursorDrawable="@color/primary">
+
+                        <requestFocus />
+                    </com.google.android.material.textfield.TextInputEditText>
+
+                    <com.google.android.material.textfield.TextInputEditText
+                        android:id="@+id/txt1"
+                        style="@style/PassCodeStyle"
+                        android:cursorVisible="true"
+                        android:hint="@string/hidden_character"
+                        android:imeOptions="flagNoExtractUi"
+                        android:importantForAutofill="no" />
+
+                    <com.google.android.material.textfield.TextInputEditText
+                        android:id="@+id/txt2"
+                        style="@style/PassCodeStyle"
+                        android:cursorVisible="true"
+                        android:hint="@string/hidden_character"
+                        android:imeOptions="flagNoExtractUi"
+                        android:importantForAutofill="no" />
+
+                    <com.google.android.material.textfield.TextInputEditText
+                        android:id="@+id/txt3"
+                        style="@style/PassCodeStyle"
+                        android:cursorVisible="true"
+                        android:hint="@string/hidden_character"
+                        android:imeOptions="flagNoExtractUi"
+                        android:importantForAutofill="no" />
+                </LinearLayout>
+
             </LinearLayout>
 
             <com.google.android.material.button.MaterialButton
                 android:id="@+id/cancel"
+                style="@style/Button.Borderless"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:layout_gravity="center_horizontal"
-                android:text="@string/common_cancel"
-                android:theme="@style/Button.Borderless"
-                app:cornerRadius="@dimen/button_corner_radius"/>
+                android:layout_gravity="end"
+                android:text="@string/common_cancel" />
         </LinearLayout>
 
     </androidx.cardview.widget.CardView>

+ 1 - 0
src/main/res/values/dims.xml

@@ -138,4 +138,5 @@
     <dimen name="account_action_button_vertical_margin">10dp</dimen>
     <dimen name="online_status_item_height">52dp</dimen>
     <dimen name="minimum_size_for_touchable_area">48dp</dimen>
+    <dimen name="dialog_elevation">24dp</dimen>
 </resources>