верстка item, main_recycler

This commit is contained in:
senijan 2025-02-19 16:25:55 +03:00
parent a2cf3cfbae
commit 5bbe95046f
10 changed files with 304 additions and 87 deletions

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners
android:topLeftRadius="16dp"
android:topRightRadius="16dp" />
<solid android:color="@color/theme_color"/>
</shape>

View File

@ -0,0 +1,45 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="36dp"
android:height="36dp"
android:viewportWidth="36"
android:viewportHeight="36">
<path
android:pathData="M6.75,8.625C6.75,7.589 7.589,6.75 8.625,6.75H11.625C12.246,6.75 12.75,6.246 12.75,5.625C12.75,5.004 12.246,4.5 11.625,4.5H8.625C6.347,4.5 4.5,6.347 4.5,8.625V11.625C4.5,12.246 5.004,12.75 5.625,12.75C6.246,12.75 6.75,12.246 6.75,11.625V8.625Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M6.75,27.375C6.75,28.411 7.589,29.25 8.625,29.25H11.625C12.246,29.25 12.75,29.754 12.75,30.375C12.75,30.996 12.246,31.5 11.625,31.5H8.625C6.347,31.5 4.5,29.653 4.5,27.375V24.375C4.5,23.754 5.004,23.25 5.625,23.25C6.246,23.25 6.75,23.754 6.75,24.375V27.375Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M27.375,6.75C28.411,6.75 29.25,7.589 29.25,8.625V11.625C29.25,12.246 29.754,12.75 30.375,12.75C30.996,12.75 31.5,12.246 31.5,11.625V8.625C31.5,6.347 29.653,4.5 27.375,4.5H24.375C23.754,4.5 23.25,5.004 23.25,5.625C23.25,6.246 23.754,6.75 24.375,6.75H27.375Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M29.25,27.375C29.25,28.411 28.411,29.25 27.375,29.25H24.375C23.754,29.25 23.25,29.754 23.25,30.375C23.25,30.996 23.754,31.5 24.375,31.5H27.375C29.653,31.5 31.5,29.653 31.5,27.375V24.375C31.5,23.754 30.996,23.25 30.375,23.25C29.754,23.25 29.25,23.754 29.25,24.375V27.375Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M15,13.5H13.5V15H15V13.5Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M11.25,12.938C11.25,12.005 12.005,11.25 12.938,11.25H15.563C16.494,11.25 17.25,12.005 17.25,12.938V15.563C17.25,16.494 16.494,17.25 15.563,17.25H12.938C12.005,17.25 11.25,16.494 11.25,15.563V12.938ZM12.938,12.375C12.627,12.375 12.375,12.627 12.375,12.938V15.563C12.375,15.873 12.627,16.125 12.938,16.125H15.563C15.873,16.125 16.125,15.873 16.125,15.563V12.938C16.125,12.627 15.873,12.375 15.563,12.375H12.938Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M13.5,21H15V22.5H13.5V21Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M11.25,20.438C11.25,19.506 12.005,18.75 12.938,18.75H15.563C16.494,18.75 17.25,19.506 17.25,20.438V23.063C17.25,23.994 16.494,24.75 15.563,24.75H12.938C12.005,24.75 11.25,23.994 11.25,23.063V20.438ZM12.938,19.875C12.627,19.875 12.375,20.127 12.375,20.438V23.063C12.375,23.373 12.627,23.625 12.938,23.625H15.563C15.873,23.625 16.125,23.373 16.125,23.063V20.438C16.125,20.127 15.873,19.875 15.563,19.875H12.938Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M22.5,13.5H21V15H22.5V13.5Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M20.438,11.25C19.506,11.25 18.75,12.005 18.75,12.938V15.563C18.75,16.494 19.506,17.25 20.438,17.25H23.063C23.994,17.25 24.75,16.494 24.75,15.563V12.938C24.75,12.005 23.994,11.25 23.063,11.25H20.438ZM19.875,12.938C19.875,12.627 20.127,12.375 20.438,12.375H23.063C23.373,12.375 23.625,12.627 23.625,12.938V15.563C23.625,15.873 23.373,16.125 23.063,16.125H20.438C20.127,16.125 19.875,15.873 19.875,15.563V12.938Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M18.75,18.75H20.813V20.813H18.75V18.75Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M22.688,20.813H20.813V22.688H18.75V24.75H20.813V22.688H22.688V24.75H24.75V22.688H22.688V20.813Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M22.688,20.813V18.75H24.75V20.813H22.688Z"
android:fillColor="#ffffff"/>
</vector>

View File

@ -0,0 +1,14 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:width="48dp"
android:height="48dp"
android:viewportWidth="48"
android:viewportHeight="48">
<path
android:pathData="M16,0L32,0A16,16 0,0 1,48 16L48,32A16,16 0,0 1,32 48L16,48A16,16 0,0 1,0 32L0,16A16,16 0,0 1,16 0z"
android:fillColor="#F2F1F7"/>
<path
android:pathData="M34.333,13.333C35.99,13.333 37.333,14.676 37.333,16.333V31.673C37.333,33.329 35.99,34.673 34.333,34.673H13.667C12.01,34.673 10.667,33.329 10.667,31.673V16.333C10.667,14.676 12.01,13.333 13.667,13.333H34.333ZM34.333,15.333H13.667C13.114,15.333 12.667,15.781 12.667,16.333V31.673C12.667,32.225 13.114,32.673 13.667,32.673H34.333C34.886,32.673 35.333,32.225 35.333,31.673V16.333C35.333,15.781 34.886,15.333 34.333,15.333ZM21,24.667C21.552,24.667 22,25.114 22,25.667V26.323L21.989,26.468C21.772,27.952 20.53,28.668 18.667,28.668C16.803,28.668 15.561,27.951 15.344,26.467L15.333,26.322V25.667C15.333,25.114 15.781,24.667 16.333,24.667H21ZM25.67,25.328H31.667C32.219,25.328 32.667,25.776 32.667,26.328C32.667,26.834 32.29,27.253 31.802,27.319L31.667,27.328H25.67C25.117,27.328 24.67,26.881 24.67,26.328C24.67,25.822 25.046,25.403 25.534,25.337L25.67,25.328ZM18.667,19.336C19.771,19.336 20.667,20.232 20.667,21.336C20.667,22.441 19.771,23.336 18.667,23.336C17.562,23.336 16.667,22.441 16.667,21.336C16.667,20.232 17.562,19.336 18.667,19.336ZM25.67,20.667H31.667C32.219,20.667 32.667,21.114 32.667,21.667C32.667,22.173 32.29,22.591 31.802,22.657L31.667,22.667H25.67C25.117,22.667 24.67,22.219 24.67,21.667C24.67,21.16 25.046,20.742 25.534,20.676L25.67,20.667Z"
android:fillColor="#004BFF"
tools:ignore="VectorPath" />
</vector>

View File

@ -0,0 +1,48 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportWidth="48"
android:viewportHeight="48">
<path
android:pathData="M16,0L32,0A16,16 0,0 1,48 16L48,32A16,16 0,0 1,32 48L16,48A16,16 0,0 1,0 32L0,16A16,16 0,0 1,16 0z"
android:fillColor="#F2F1F7"/>
<path
android:pathData="M14,15.667C14,14.746 14.746,14 15.667,14H18.333C18.886,14 19.333,13.552 19.333,13C19.333,12.448 18.886,12 18.333,12H15.667C13.642,12 12,13.642 12,15.667V18.333C12,18.886 12.448,19.333 13,19.333C13.552,19.333 14,18.886 14,18.333V15.667Z"
android:fillColor="#004BFF"/>
<path
android:pathData="M14,32.333C14,33.254 14.746,34 15.667,34H18.333C18.886,34 19.333,34.448 19.333,35C19.333,35.552 18.886,36 18.333,36H15.667C13.642,36 12,34.359 12,32.333V29.667C12,29.115 12.448,28.667 13,28.667C13.552,28.667 14,29.115 14,29.667V32.333Z"
android:fillColor="#004BFF"/>
<path
android:pathData="M32.333,14C33.254,14 34,14.746 34,15.667V18.333C34,18.886 34.448,19.333 35,19.333C35.552,19.333 36,18.886 36,18.333V15.667C36,13.642 34.358,12 32.333,12H29.667C29.114,12 28.667,12.448 28.667,13C28.667,13.552 29.114,14 29.667,14H32.333Z"
android:fillColor="#004BFF"/>
<path
android:pathData="M34,32.333C34,33.254 33.254,34 32.333,34H29.667C29.114,34 28.667,34.448 28.667,35C28.667,35.552 29.114,36 29.667,36H32.333C34.358,36 36,34.359 36,32.333V29.667C36,29.115 35.552,28.667 35,28.667C34.448,28.667 34,29.115 34,29.667V32.333Z"
android:fillColor="#004BFF"/>
<path
android:pathData="M21.333,20H20V21.333H21.333V20Z"
android:fillColor="#004BFF"/>
<path
android:pathData="M18,19.5C18,18.672 18.672,18 19.5,18H21.833C22.662,18 23.333,18.672 23.333,19.5V21.833C23.333,22.662 22.662,23.333 21.833,23.333H19.5C18.672,23.333 18,22.662 18,21.833V19.5ZM19.5,19C19.224,19 19,19.224 19,19.5V21.833C19,22.11 19.224,22.333 19.5,22.333H21.833C22.11,22.333 22.333,22.11 22.333,21.833V19.5C22.333,19.224 22.11,19 21.833,19H19.5Z"
android:fillColor="#004BFF"/>
<path
android:pathData="M20,26.667H21.333V28H20V26.667Z"
android:fillColor="#004BFF"/>
<path
android:pathData="M18,26.167C18,25.338 18.672,24.667 19.5,24.667H21.833C22.662,24.667 23.333,25.338 23.333,26.167V28.5C23.333,29.329 22.662,30 21.833,30H19.5C18.672,30 18,29.329 18,28.5V26.167ZM19.5,25.667C19.224,25.667 19,25.891 19,26.167V28.5C19,28.776 19.224,29 19.5,29H21.833C22.11,29 22.333,28.776 22.333,28.5V26.167C22.333,25.891 22.11,25.667 21.833,25.667H19.5Z"
android:fillColor="#004BFF"/>
<path
android:pathData="M28,20H26.667V21.333H28V20Z"
android:fillColor="#004BFF"/>
<path
android:pathData="M26.167,18C25.338,18 24.667,18.672 24.667,19.5V21.833C24.667,22.662 25.338,23.333 26.167,23.333H28.5C29.328,23.333 30,22.662 30,21.833V19.5C30,18.672 29.328,18 28.5,18H26.167ZM25.667,19.5C25.667,19.224 25.89,19 26.167,19H28.5C28.776,19 29,19.224 29,19.5V21.833C29,22.11 28.776,22.333 28.5,22.333H26.167C25.89,22.333 25.667,22.11 25.667,21.833V19.5Z"
android:fillColor="#004BFF"/>
<path
android:pathData="M24.667,24.667H26.5V26.5H24.667V24.667Z"
android:fillColor="#004BFF"/>
<path
android:pathData="M28.167,26.5H26.5V28.167H24.667V30H26.5V28.167H28.167V30H30V28.167H28.167V26.5Z"
android:fillColor="#004BFF"/>
<path
android:pathData="M28.167,26.5V24.667H30V26.5H28.167Z"
android:fillColor="#004BFF"/>
</vector>

View File

@ -6,78 +6,92 @@ android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="ru.myitschool.work.ui.login.LoginFragment">
<LinearLayout
android:layout_width="342dp"
android:layout_height="280dp"
android:layout_marginStart="32dp"
android:layout_marginTop="250dp"
android:layout_marginEnd="32dp"
android:layout_marginBottom="350dp"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/login_title"
android:layout_width="match_parent"
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="342dp"
android:layout_height="wrap_content"
android:fontFamily="@font/montserrat_bold"
android:text="@string/login_title"
android:textAlignment="center"
android:textSize="24sp" />
android:layout_marginStart="32dp"
android:layout_marginTop="250dp"
android:layout_marginEnd="32dp"
android:layout_marginBottom="350dp"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<EditText
android:id="@+id/username"
style="@style/login_input"
android:layout_width="match_parent"
android:layout_height="61dp"
android:layout_marginTop="20dp"
android:background="@drawable/input_corner_radius"
android:autofillHints="username"
android:hint="@string/username_hint"
android:inputType="text" />
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/logo_login"
android:importantForAccessibility="no"
app:layout_constraintBottom_toTopOf="@+id/linearLayout3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/password"
style="@style/login_input"
android:layout_width="match_parent"
android:layout_height="61dp"
android:layout_marginTop="20dp"
android:background="@drawable/input_corner_radius"
android:autofillHints="password"
android:hint="@string/password_hint"
android:inputType="textPassword" />
<TextView
android:id="@+id/login_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/montserrat_bold"
android:text="@string/login_title"
android:textAlignment="center"
android:textColor="@color/primary_text_color"
android:textSize="24sp" />
<Button
android:id="@+id/loginBtn"
style="@style/secondary_text_color"
android:layout_width="312dp"
android:layout_height="68dp"
android:layout_marginStart="10sp"
android:layout_marginEnd="10sp"
android:backgroundTint="@color/bg_color"
app:cornerRadius="16dp"
android:enabled="false"
android:fontFamily="@font/montserrat_medium"
android:text="@string/login_btn"
android:textColor="@color/secondary_text_color"
android:textSize="20sp" />
<EditText
android:id="@+id/username"
style="@style/login_input"
android:layout_width="match_parent"
android:layout_height="61dp"
android:layout_marginTop="20dp"
android:autofillHints="username"
android:background="@drawable/input_corner_radius"
android:hint="@string/username_hint"
android:inputType="text" />
<TextView
android:id="@+id/error"
android:layout_width="match_parent"
android:layout_height="43dp"
android:fontFamily="@font/montserrat_bold"
android:text="@string/login_error"
android:textAlignment="center"
android:textColor="@color/red"
android:textSize="20sp"
android:visibility="gone"
tools:visibility="gone" />
<EditText
android:id="@+id/password"
style="@style/login_input"
android:layout_width="match_parent"
android:layout_height="61dp"
android:layout_marginTop="20dp"
android:autofillHints="password"
android:background="@drawable/input_corner_radius"
android:hint="@string/password_hint"
android:inputType="textPassword" />
</LinearLayout>
<Button
android:id="@+id/loginBtn"
style="@style/secondary_text_color"
android:layout_width="312dp"
android:layout_height="68dp"
android:layout_marginStart="10sp"
android:layout_marginEnd="10sp"
android:backgroundTint="@color/bg_color"
android:enabled="false"
android:fontFamily="@font/montserrat_medium"
android:text="@string/login_btn"
android:textColor="@color/secondary_text_color"
android:textSize="20sp"
app:cornerRadius="16dp" />
<TextView
android:id="@+id/error"
android:layout_width="match_parent"
android:layout_height="43dp"
android:fontFamily="@font/montserrat_bold"
android:text="@string/login_error"
android:textAlignment="center"
android:textColor="@color/red"
android:textSize="20sp"
android:visibility="gone"
tools:visibility="gone" />
</LinearLayout>
<ProgressBar
android:id="@+id/loading"
@ -90,4 +104,5 @@ tools:context="ru.myitschool.work.ui.login.LoginFragment">
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.499" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -3,7 +3,8 @@
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">
android:layout_height="match_parent"
android:background="@color/bg_color">
<LinearLayout
android:layout_width="0dp"
@ -124,10 +125,32 @@
android:text="@string/refresh_btn"
android:textColor="@color/white" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/content"
<LinearLayout
android:id="@+id/history"
android:layout_width="match_parent"
android:layout_height="match_parent" />
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/history_corner_radius"
android:paddingTop="16dp"
android:paddingHorizontal="20dp">
<TextView
android:id="@+id/history_title"
style="@style/font_medium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:text="@string/history_title"
android:textSize="16sp"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/history_corner_radius" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -1,26 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_marginBottom="24dp">
<TextView
android:id="@+id/time_visit"
android:layout_width="wrap_content"
android:id="@+id/visit_date"
style="@style/secondary_text_color"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
android:layout_gravity="top|start"
android:layout_marginBottom="16dp"
tools:text="18 февраля" />
<TextView
android:id="@+id/reader_id_visit"
android:layout_width="wrap_content"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.586"
app:layout_constraintStart_toEndOf="@+id/time_visit"
app:layout_constraintTop_toTopOf="parent" />
android:orientation="horizontal"
android:layout_marginHorizontal="12dp">
</androidx.constraintlayout.widget.ConstraintLayout>
<ImageView
android:id="@+id/visit_type"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="start"
android:importantForAccessibility="no"
app:srcCompat="@drawable/logo_visit_card" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="16dp"
android:layout_gravity="center_vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/visit_reader_id"
style="@style/font_medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:singleLine="true"
tools:text="Главный вход"/>
<TextView
android:id="@+id/visit_time"
style="@style/font_medium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="40dp"
android:gravity="end"
android:singleLine="true"
tools:text="8:00" />
</LinearLayout>
<TextView
android:id="@+id/visit_direction"
style="@style/secondary_text_color"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
tools:text="Вход"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>

View File

@ -15,4 +15,5 @@
<string name="close_btn">Close</string>
<string name="result_null_text">Operation was cancelled</string>
<string name="password_hint">Enter the password</string>
<string name="history_title">Visit history</string>
</resources>

View File

@ -17,6 +17,7 @@
<string name="result_null_text">Вход был отменён</string>
<string name="close_btn">Закрыть</string>
<string name="password_hint">Введите пароль</string>
<string name="history_title">История посещений</string>
<!-- TODO: Remove or change this placeholder text -->

View File

@ -1,10 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="primary_text_color">
<item name="android:textColor">@color/primary_text_color</item>
</style>
<style name="font_medium" parent="primary_text_color">
<item name="android:fontFamily">@font/montserrat_medium</item>
</style>
<style name="secondary_text_color">
<item name="android:textColor">@color/secondary_text_color</item>
<item name="fontFamily">@font/montserrat_medium</item>
</style>
<style name="login_input">
<item name="android:paddingStart">16dp</item>
<item name="android:textAlignment">textStart</item>