Made the login page scrollable (#4549)

* make the login page scrollable

* another modification to the login page
This commit is contained in:
Yuhui Su 2021-10-07 18:24:19 +08:00 committed by GitHub
parent a687046c02
commit a99ae9d6c2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,254 +1,251 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content"
xmlns:tools="http://schemas.android.com/tools" android:layout_height="wrap_content">
android:layout_width="match_parent"
android:fillViewport="true"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_gravity="center_vertical"
android:layout_marginTop="@dimen/small_gap">
<androidx.cardview.widget.CardView <LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical">
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="@dimen/small_gap">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/standard_gap"
android:layout_marginLeft="@dimen/standard_gap"
android:layout_marginTop="@dimen/large_gap"
android:layout_marginEnd="@dimen/standard_gap"
android:layout_marginRight="@dimen/standard_gap"
android:layout_marginBottom="@dimen/standard_gap"
android:focusableInTouchMode="true"
app:cardCornerRadius="@dimen/tiny_margin"
app:cardElevation="@dimen/tiny_margin">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusableInTouchMode="true"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/title"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/standard_gap" android:background="@color/primaryColor"
android:layout_marginEnd="@dimen/standard_gap" android:gravity="center"
android:layout_marginLeft="@dimen/standard_gap" android:paddingTop="@dimen/large_gap"
android:layout_marginRight="@dimen/standard_gap" android:paddingBottom="@dimen/large_gap"
android:text="@string/login_to_your_account"
android:textColor="@android:color/white"
android:textSize="@dimen/heading_text_size" />
<TextView
android:id="@+id/login_credentials"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/title"
android:layout_marginStart="@dimen/standard_gap" android:layout_marginStart="@dimen/standard_gap"
android:layout_marginTop="@dimen/large_gap" android:layout_marginLeft="@dimen/standard_gap"
android:focusableInTouchMode="true" android:layout_marginEnd="@dimen/standard_gap"
app:cardCornerRadius="@dimen/tiny_margin" android:layout_marginRight="@dimen/standard_gap"
app:cardElevation="@dimen/tiny_margin"> android:paddingTop="@dimen/small_gap"
android:paddingBottom="@dimen/small_gap"
<RelativeLayout android:textAlignment="center"
android:layout_width="match_parent" android:textColor="@color/secondaryDarkColor"
android:layout_height="wrap_content" tools:text="@string/login_credential" />
android:focusableInTouchMode="true"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primaryColor"
android:gravity="center"
android:paddingBottom="@dimen/large_gap"
android:paddingTop="@dimen/large_gap"
android:text="@string/login_to_your_account"
android:textColor="@android:color/white"
android:textSize="@dimen/heading_text_size" />
<TextView
android:id="@+id/login_credentials"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/title"
android:layout_marginEnd="@dimen/standard_gap"
android:layout_marginLeft="@dimen/standard_gap"
android:layout_marginRight="@dimen/standard_gap"
android:layout_marginStart="@dimen/standard_gap"
android:paddingBottom="@dimen/small_gap"
android:paddingTop="@dimen/small_gap"
android:textAlignment="center"
android:textColor="@color/secondaryDarkColor"
tools:text="@string/login_credential" />
<FrameLayout <FrameLayout
android:id="@+id/error_message_container" android:id="@+id/error_message_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/login_credentials" android:layout_below="@id/login_credentials"
android:visibility="gone" android:visibility="gone"
tools:visibility="visible"> tools:visibility="visible">
<TextView <TextView
android:id="@+id/error_message" android:id="@+id/error_message"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/standard_gap" android:layout_marginStart="@dimen/standard_gap"
android:layout_marginLeft="@dimen/standard_gap" android:layout_marginLeft="@dimen/standard_gap"
android:layout_marginRight="@dimen/standard_gap" android:layout_marginEnd="@dimen/standard_gap"
android:layout_marginStart="@dimen/standard_gap" android:layout_marginRight="@dimen/standard_gap"
android:gravity="center" android:gravity="center"
android:paddingBottom="@dimen/small_gap" android:paddingTop="@dimen/small_gap"
android:paddingTop="@dimen/small_gap" android:paddingBottom="@dimen/small_gap"
android:textColor="@color/secondaryDarkColor" android:textColor="@color/secondaryDarkColor"
tools:text="Check your password, something doesnt look right" /> tools:text="Check your password, something doesnt look right" />
</FrameLayout> </FrameLayout>
<com.google.android.material.textfield.TextInputLayout <com.google.android.material.textfield.TextInputLayout
android:id="@+id/username_container" android:id="@+id/username_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/error_message_container" android:layout_below="@id/error_message_container"
android:layout_marginBottom="@dimen/standard_gap" android:layout_marginStart="@dimen/standard_gap"
android:layout_marginEnd="@dimen/standard_gap" android:layout_marginLeft="@dimen/standard_gap"
android:layout_marginLeft="@dimen/standard_gap" android:layout_marginTop="@dimen/standard_gap"
android:layout_marginRight="@dimen/standard_gap" android:layout_marginEnd="@dimen/standard_gap"
android:layout_marginStart="@dimen/standard_gap" android:layout_marginRight="@dimen/standard_gap"
android:layout_marginTop="@dimen/standard_gap"> android:layout_marginBottom="@dimen/standard_gap">
<com.google.android.material.textfield.TextInputEditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/login_username" android:id="@+id/login_username"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="@string/username" android:hint="@string/username"
android:imeOptions="flagNoExtractUi" android:imeOptions="flagNoExtractUi"
android:inputType="textNoSuggestions"> android:inputType="textNoSuggestions">
<requestFocus /> <requestFocus />
</com.google.android.material.textfield.TextInputEditText> </com.google.android.material.textfield.TextInputEditText>
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout <com.google.android.material.textfield.TextInputLayout
android:id="@+id/password_container" android:id="@+id/password_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/username_container" android:layout_below="@id/username_container"
android:layout_marginBottom="@dimen/standard_gap" android:layout_marginStart="@dimen/standard_gap"
android:layout_marginEnd="@dimen/standard_gap" android:layout_marginLeft="@dimen/standard_gap"
android:layout_marginLeft="@dimen/standard_gap" android:layout_marginEnd="@dimen/standard_gap"
android:layout_marginRight="@dimen/standard_gap" android:layout_marginRight="@dimen/standard_gap"
android:layout_marginStart="@dimen/standard_gap" android:layout_marginBottom="@dimen/standard_gap"
app:passwordToggleEnabled="true"> app:passwordToggleEnabled="true">
<com.google.android.material.textfield.TextInputEditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/login_password" android:id="@+id/login_password"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="@string/password" android:hint="@string/password"
android:imeOptions="flagNoExtractUi" android:imeOptions="flagNoExtractUi"
android:inputType="textPassword" /> android:inputType="textPassword" />
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout <com.google.android.material.textfield.TextInputLayout
android:id="@+id/two_factor_container" android:id="@+id/two_factor_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/password_container" android:layout_below="@id/password_container"
android:layout_marginBottom="@dimen/standard_gap" android:layout_marginStart="@dimen/standard_gap"
android:layout_marginEnd="@dimen/standard_gap" android:layout_marginLeft="@dimen/standard_gap"
android:layout_marginLeft="@dimen/standard_gap" android:layout_marginEnd="@dimen/standard_gap"
android:layout_marginRight="@dimen/standard_gap" android:layout_marginRight="@dimen/standard_gap"
android:layout_marginStart="@dimen/standard_gap" android:layout_marginBottom="@dimen/standard_gap"
android:visibility="gone" android:visibility="gone"
app:passwordToggleEnabled="false" app:passwordToggleEnabled="false"
tools:visibility="visible"> tools:visibility="visible">
<com.google.android.material.textfield.TextInputEditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/login_two_factor" android:id="@+id/login_two_factor"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="@string/_2fa_code" android:hint="@string/_2fa_code"
android:imeOptions="flagNoExtractUi" android:imeOptions="flagNoExtractUi"
android:inputType="number" android:inputType="number"
android:visibility="gone" android:visibility="gone"
tools:visibility="visible" /> tools:visibility="visible" />
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
<LinearLayout <LinearLayout
android:id="@+id/buttonFrame" android:id="@+id/buttonFrame"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/two_factor_container" android:layout_below="@id/two_factor_container"
android:layout_marginBottom="@dimen/standard_gap" android:layout_marginStart="@dimen/standard_gap"
android:layout_marginEnd="@dimen/standard_gap" android:layout_marginLeft="@dimen/standard_gap"
android:layout_marginLeft="@dimen/standard_gap" android:layout_marginEnd="@dimen/standard_gap"
android:layout_marginRight="@dimen/standard_gap" android:layout_marginRight="@dimen/standard_gap"
android:layout_marginStart="@dimen/standard_gap"> android:layout_marginBottom="@dimen/standard_gap">
<Button <Button
android:id="@+id/sign_up_button" android:id="@+id/sign_up_button"
style="@style/Widget.AppCompat.Button.Borderless.Colored" style="@style/Widget.AppCompat.Button.Borderless.Colored"
android:layout_width="@dimen/dimen_0" android:layout_width="@dimen/dimen_0"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginEnd="@dimen/small_gap" android:layout_marginEnd="@dimen/small_gap"
android:layout_marginRight="@dimen/small_gap" android:layout_marginRight="@dimen/small_gap"
android:layout_weight="1" android:layout_weight="1"
android:text="@string/signup" /> android:text="@string/signup" />
<Button <Button
android:id="@+id/login_button" android:id="@+id/login_button"
style="@style/Widget.AppCompat.Button.Colored" style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="@dimen/dimen_0" android:layout_width="@dimen/dimen_0"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/small_gap" android:layout_marginStart="@dimen/small_gap"
android:layout_marginStart="@dimen/small_gap" android:layout_marginLeft="@dimen/small_gap"
android:layout_weight="1" android:layout_weight="1"
android:enabled="false" android:enabled="false"
android:text="@string/login" /> android:text="@string/login" />
</LinearLayout> </LinearLayout>
<fr.free.nrw.commons.ui.widget.HtmlTextView <fr.free.nrw.commons.ui.widget.HtmlTextView
android:visibility="visible" android:id="@+id/forgot_password"
android:id="@+id/forgot_password" android:layout_width="match_parent"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:gravity="center_horizontal" android:layout_below="@id/buttonFrame"
android:layout_height="wrap_content" android:layout_marginBottom="@dimen/standard_gap"
android:layout_below="@id/buttonFrame" android:gravity="center_horizontal"
android:layout_marginBottom="@dimen/standard_gap" android:text="@string/forgot_password"
android:text="@string/forgot_password" /> android:visibility="visible" />
<fr.free.nrw.commons.ui.widget.HtmlTextView <fr.free.nrw.commons.ui.widget.HtmlTextView
android:visibility="visible" android:id="@+id/skip_login"
android:id="@+id/skip_login" android:layout_width="match_parent"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:gravity="center_horizontal" android:layout_below="@id/forgot_password"
android:layout_height="wrap_content" android:layout_marginBottom="@dimen/standard_gap"
android:layout_below="@id/forgot_password" android:gravity="center_horizontal"
android:layout_marginBottom="@dimen/standard_gap" android:text="@string/skip_login"
android:text="@string/skip_login" /> android:visibility="visible" />
</RelativeLayout> </RelativeLayout>
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/gigantic_gap" android:layout_width="@dimen/gigantic_gap"
android:layout_height="@dimen/gigantic_gap" android:layout_height="@dimen/gigantic_gap"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:elevation="@dimen/activity_margin_horizontal" android:elevation="@dimen/activity_margin_horizontal"
app:srcCompat="@drawable/blue_rinse_circle" app:srcCompat="@drawable/blue_rinse_circle"
tools:ignore="UnusedAttribute" /> tools:ignore="UnusedAttribute" />
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dimen_42" android:layout_width="@dimen/dimen_42"
android:layout_height="@dimen/dimen_42" android:layout_height="@dimen/dimen_42"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/activity_margin_horizontal" android:layout_marginTop="@dimen/activity_margin_horizontal"
android:elevation="@dimen/activity_margin_horizontal" android:elevation="@dimen/activity_margin_horizontal"
app:srcCompat="@drawable/commons_logo" app:srcCompat="@drawable/commons_logo"
tools:ignore="UnusedAttribute" /> tools:ignore="UnusedAttribute" />
</FrameLayout> </FrameLayout>
<fr.free.nrw.commons.ui.widget.HtmlTextView <fr.free.nrw.commons.ui.widget.HtmlTextView
android:id="@+id/about_privacy_policy" android:id="@+id/about_privacy_policy"
style="?android:textAppearanceSmall" style="?android:textAppearanceSmall"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentBottom="true" android:layout_gravity="center_horizontal"
android:layout_centerHorizontal="true" android:layout_marginBottom="@dimen/standard_gap"
android:layout_marginBottom="@dimen/normal_text" android:text="@string/about_privacy_policy" />
android:paddingBottom="@dimen/login_padding"
android:textColor="@color/status_bar_blue"
android:text="@string/about_privacy_policy" />
</RelativeLayout> </LinearLayout>
</LinearLayout> </ScrollView>