Make lock pattern more usable on small screens

- Remove the icon on screens smaller than sw400dp
- Make sure all margins and spacing are removed before shrinking
  content
- Shrink the pattern view to avoid cutting off the text at the top

Test: Manual
Bug: 38269249
Change-Id: I5d7bf956929f52952a588962febf3dcf43286b76
This commit is contained in:
Maurice Lam
2017-05-15 12:20:17 -07:00
parent 631120f1ad
commit 4853cce971
4 changed files with 93 additions and 61 deletions

View File

@@ -22,6 +22,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:icon="@drawable/ic_lock"
android:layout="@layout/suw_glif_blank_template"
settings:suwFooter="@layout/choose_lock_pattern_common_footer"
settings:suwHeaderText="@string/lockpassword_choose_your_pattern_header">
@@ -34,6 +35,26 @@
android:clipToPadding="false"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/suw_layout_icon"
style="@style/LockPatternIconStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_lock" />
<TextView
android:id="@+id/suw_layout_title"
style="@style/SuwGlifHeaderTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<!-- takes up all space above button bar at bottom -->
<LinearLayout
android:layout_width="match_parent"
@@ -47,7 +68,6 @@
<TextView android:id="@+id/headerText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:minLines="2"
android:gravity="center"
android:textSize="18sp" />
@@ -55,7 +75,7 @@
<com.android.internal.widget.LockPatternView android:id="@+id/lockPattern"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="4" />
android:layout_weight="1" />
</LinearLayout>

View File

@@ -27,19 +27,14 @@
android:layout_height="match_parent"
android:orientation="vertical">
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/suw_layout_icon"
style="@style/SuwGlifIcon"
style="@style/LockPatternIconStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_lock" />
@@ -60,28 +55,19 @@
</LinearLayout>
</ScrollView>
<com.android.internal.widget.LockPatternView
android:id="@+id/lockPattern"
android:layout_width="312dp"
android:layout_height="0dp"
android:layout_weight="3"
android:layout_gravity="center_horizontal"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical">
android:layout_weight="4"
android:layout_gravity="center_horizontal"/>
<TextView
style="@style/TextAppearance.ConfirmDeviceCredentialsErrorText"
android:accessibilityLiveRegion="polite"
android:id="@+id/errorText"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="12dp"
android:layout_marginStart="12dp"
@@ -93,11 +79,9 @@
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="24dp"
android:contentDescription="@string/confirm_fingerprint_icon_content_description"
android:visibility="gone"/>
</LinearLayout>
<Button
android:id="@+id/cancelButton"

23
res/values-sw400dp/styles.xml Executable file
View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2017 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<resources>
<!-- Unhide the icon on bigger screens -->
<style name="LockPatternIconStyle" parent="SuwGlifIcon" />
</resources>

View File

@@ -448,4 +448,9 @@
<item name="*android:successColor">@color/setup_lock_pattern_view_success_color_light</item>
</style>
<!-- Overridden in sw400dp -->
<style name="LockPatternIconStyle" parent="SuwGlifIcon">
<item name="android:visibility">gone</item>
</style>
</resources>