更新界面

This commit is contained in:
HapeLee committed 2025-08-27 03:04:46 +08:00
1 parent a12afacfeb
commit 6b1d11489f
16 files changed
+267 -335

No files matched your search

+3 -1
View File
@@ -1,3 +1,5 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="960" android:viewportHeight="960" android:tint="?attr/colorControlNormal">
<path android:fillColor="@android:color/white" android:pathData="M720,840L280,840L280,320L560,40L610,90Q617,97 621.5,109Q626,121 626,132L626,146L582,320L840,320Q872,320 896,344Q920,368 920,400L920,480Q920,487 918,495Q916,503 914,510L794,792Q785,812 764,826Q743,840 720,840ZM360,760L720,760Q720,760 720,760Q720,760 720,760L840,480L840,400Q840,400 840,400Q840,400 840,400L480,400L534,180L360,354L360,760ZM360,354L360,354L360,400L360,400Q360,400 360,400Q360,400 360,400L360,480L360,760Q360,760 360,760Q360,760 360,760L360,760L360,354ZM280,320L280,400L160,400L160,760L280,760L280,840L80,840L80,320L280,320Z"/>
<path
android:fillColor="@android:color/white"
android:pathData="M640,480L720,560L720,640L520,640L520,880L480,920L440,880L440,640L240,640L240,560L320,480L320,200L280,200L280,120L680,120L680,200L640,200L640,480ZM354,560L606,560L560,514L560,200L400,200L400,514L354,560ZM480,560L480,560L480,560L480,560L480,560L480,560Z" />
</vector>
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="960"
android:viewportHeight="960">
<path
android:fillColor="@android:color/white"
android:pathData="M640,480L720,560L720,640L520,640L520,880L480,920L440,880L440,640L240,640L240,560L320,480L320,200L280,200L280,120L680,120L680,200L640,200L640,480Z" />
</vector>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

@@ -103,6 +103,12 @@
android:text="还没有源!" />
</LinearLayout>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
</androidx.core.widget.NestedScrollView>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
@@ -112,11 +118,11 @@
<LinearLayout
android:id="@+id/ll_bottom_bar"
android:layout_width="match_parent"
android:layout_height="36dp"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingLeft="10dp"
android:paddingRight="10dp">
android:paddingHorizontal="16dp"
android:paddingVertical="8dp">
<TextView
android:id="@+id/tv_dur"
@@ -125,32 +131,39 @@
android:layout_weight="1"
android:background="?attr/selectableItemBackgroundBorderless"
android:text="@string/text"
android:textStyle="bold"
android:ellipsize="end"
android:gravity="center_vertical"
android:singleLine="true"
android:textSize="12sp" />
<com.google.android.material.button.MaterialButton
android:id="@+id/iv_top"
android:layout_width="36dp"
android:layout_height="match_parent"
style="@style/Widget.Material3Expressive.Button.IconButton.Tonal"
android:contentDescription="@string/go_to_top"
app:icon="@drawable/ic_arrow_drop_up"
app:iconGravity="textStart"
android:tooltipText="@string/go_to_top"
tools:ignore="UnusedAttribute" />
<com.google.android.material.button.MaterialButtonGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<com.google.android.material.button.MaterialButton
android:id="@+id/iv_top"
style="@style/Widget.Material3Expressive.Button.IconButton.Tonal"
android:layout_width="40dp"
android:layout_height="40dp"
android:contentDescription="@string/go_to_top"
android:tooltipText="@string/go_to_top"
app:icon="@drawable/ic_arrow_drop_up"
app:iconGravity="textStart"
tools:ignore="UnusedAttribute" />
<com.google.android.material.button.MaterialButton
android:id="@+id/iv_bottom"
style="@style/Widget.Material3Expressive.Button.IconButton.Tonal"
android:layout_width="40dp"
android:layout_height="40dp"
android:contentDescription="@string/go_to_bottom"
android:tooltipText="@string/go_to_bottom"
app:icon="@drawable/ic_arrow_drop_down"
app:iconGravity="textStart"
tools:ignore="UnusedAttribute" />
</com.google.android.material.button.MaterialButtonGroup>
<com.google.android.material.button.MaterialButton
android:id="@+id/iv_bottom"
android:layout_width="36dp"
android:layout_height="match_parent"
style="@style/Widget.Material3Expressive.Button.IconButton.Tonal"
android:contentDescription="@string/go_to_bottom"
app:icon="@drawable/ic_arrow_drop_down"
app:iconGravity="textStart"
android:tooltipText="@string/go_to_bottom"
tools:ignore="UnusedAttribute" />
</LinearLayout>
</LinearLayout>
@@ -31,7 +31,7 @@
</LinearLayout>
<LinearLayout
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
@@ -46,61 +46,61 @@
android:layout_marginTop="4dp"
android:contentDescription="@string/img_cover"
android:scaleType="centerCrop"
android:src="?attr/colorSurfaceVariant"
android:src="@drawable/image_cover_default"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ImageContrastCheck" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/til_group_name"
android:layout_width="match_parent"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/group_name">
android:layout_marginStart="8dp"
android:hint="@string/group_name"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/iv_cover"
app:layout_constraintTop_toTopOf="@id/iv_cover">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/tie_group_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="2"
tools:ignore="TouchTargetSizeCheck,SpeakableTextPresentCheck" />
android:ellipsize="end"
android:maxLines="1" />
</com.google.android.material.textfield.TextInputLayout>
<LinearLayout
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/til_sort_menu"
style="@style/Widget.Material3.TextInputLayout.OutlinedBox.Dense.ExposedDropdownMenu"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:hint="@string/sort"
app:layout_constraintBottom_toBottomOf="@id/iv_cover"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/iv_cover">
<com.google.android.material.textfield.MaterialAutoCompleteTextView
android:id="@+id/actv_sort_menu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/sort" />
<com.google.android.material.chip.Chip
android:id="@+id/chip_sort_menu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:text="@string/sort_default"
app:chipIcon="@drawable/ic_arrow_drop_down"
app:chipIconVisible="true" />
</LinearLayout>
android:cursorVisible="false"
android:ellipsize="end"
android:focusable="false"
android:inputType="none"
android:singleLine="true" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.materialswitch.MaterialSwitch
android:id="@+id/cb_enable_refresh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/allow_drop_down_refresh"
android:checked="true" />
android:checked="true"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_cover" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
@@ -109,42 +109,48 @@
android:orientation="horizontal"
android:gravity="center_vertical">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_delete"
<com.google.android.material.button.MaterialButtonGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3Expressive.Button.IconButton.Outlined"
android:layout_marginEnd="4dp"
app:icon="@drawable/ic_clear_all"
tools:ignore="RtlHardcoded" />
android:layout_height="wrap_content">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_reset"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_restore"
style="@style/Widget.Material3Expressive.Button.IconButton.Outlined" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_delete"
style="@style/Widget.Material3Expressive.Button.IconButton.Outlined"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_clear_all" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_reset"
style="@style/Widget.Material3Expressive.Button.IconButton.Outlined"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_restore" />
</com.google.android.material.button.MaterialButtonGroup>
<Space
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_weight="1" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_cancel"
<com.google.android.material.button.MaterialButtonGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3Expressive.Button.TonalButton"
android:layout_marginEnd="8dp"
android:text="@string/cancel" />
android:layout_height="wrap_content">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3Expressive.Button"
android:text="@string/ok"
tools:ignore="RtlHardcoded" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_cancel"
style="@style/Widget.Material3Expressive.Button.TonalButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/cancel" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_ok"
style="@style/Widget.Material3Expressive.Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/ok" />
</com.google.android.material.button.MaterialButtonGroup>
</LinearLayout>
</LinearLayout>
@@ -15,10 +15,12 @@
app:displayHomeAsUp="false"
app:fitStatusBar="false" />
<io.legato.kazusa.ui.widget.anima.RefreshProgressBar
<com.google.android.material.progressindicator.LinearProgressIndicator
android:id="@+id/refresh_progress_bar"
android:layout_width="match_parent"
android:layout_height="2dp" />
android:layout_height="wrap_content"
android:indeterminate="true"
android:visibility="gone" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
@@ -83,8 +83,9 @@
android:id="@+id/tv_delete"
android:layout_width="40dp"
android:layout_height="40dp"
style="@style/Widget.Material3.Button.IconButton.Outlined"
style="@style/Widget.Material3Expressive.Button.IconButton.Outlined"
app:icon="@drawable/ic_clear_all"
app:iconSize="16dp"
app:iconGravity="textStart"
app:layout_constraintTop_toTopOf="@id/tv_group_s"
app:layout_constraintBottom_toBottomOf="@id/tv_group_s"
+15 -28
View File
@@ -7,40 +7,27 @@
android:background="@android:color/transparent"
android:foreground="?attr/selectableItemBackground"
android:paddingHorizontal="16dp"
android:paddingVertical="8dp">
android:paddingVertical="12dp">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_good"
android:layout_width="24dp"
android:layout_height="24dp"
android:padding="2dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:padding="4dp"
android:contentDescription="@string/like_source"
android:src="@drawable/ic_praise"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:tint="@color/md_red_A200" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_bad"
android:layout_width="24dp"
android:layout_height="24dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:padding="4dp"
android:rotationX="180"
android:contentDescription="@string/not_like_source"
android:src="@drawable/ic_praise"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_good"
app:tint="@color/md_blue_A200" />
app:layout_constraintBottom_toBottomOf="parent"
app:tint="?attr/colorPrimary" />
<!-- 最新章节 -->
<TextView
android:id="@+id/tv_last"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginStart="12dp"
android:ellipsize="end"
android:maxLines="1"
android:textColor="?attr/colorSecondary"
@@ -56,7 +43,7 @@
android:id="@+id/tv_author"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginEnd="12dp"
android:ellipsize="end"
android:maxLines="1"
android:maxWidth="160dp"
@@ -69,14 +56,14 @@
android:id="@+id/tv_origin"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginStart="12dp"
android:layout_marginTop="4dp"
android:ellipsize="end"
android:maxLines="1"
android:textSize="12sp"
app:layout_constraintBottom_toTopOf="@id/iv_bad"
app:layout_constraintStart_toEndOf="@id/iv_good"
app:layout_constraintTop_toBottomOf="@id/tv_last"
app:layout_constraintEnd_toStartOf="@id/tv_author"
app:layout_constraintStart_toEndOf="@id/iv_bad"
app:layout_constraintTop_toBottomOf="@id/iv_bad"
tools:text="bookSourceName" />
<!-- 字数 -->
@@ -84,7 +71,7 @@
android:id="@+id/tv_current_chapter_word_count"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginStart="12dp"
android:layout_marginTop="8dp"
android:textSize="12sp"
app:layout_constraintEnd_toStartOf="@id/tv_respond_time"
@@ -98,7 +85,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginEnd="12dp"
android:textSize="12sp"
app:layout_constraintBaseline_toBaselineOf="@id/tv_current_chapter_word_count"
app:layout_constraintEnd_toStartOf="@id/iv_checked"
@@ -109,9 +96,9 @@
<!-- 选中状态 -->
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_checked"
android:layout_width="32dp"
android:layout_height="32dp"
android:paddingVertical="8dp"
android:layout_width="24dp"
android:layout_height="24dp"
android:padding="2dp"
android:src="@drawable/ic_check"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
@@ -17,29 +17,34 @@
android:layout_marginStart="4dp"
android:text="@string/select_all" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_revert_selection"
style="@style/Widget.Material3Expressive.Button.TonalButton"
<com.google.android.material.button.MaterialButtonGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="0dp"
android:layout_marginEnd="8dp"
android:text="@string/revert_selection" />
android:layout_height="wrap_content">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_select_action_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3Expressive.Button"
android:layout_marginEnd="8dp"
android:text="@string/app_name"
android:minWidth="0dp"
android:visibility="visible" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_revert_selection"
style="@style/Widget.Material3Expressive.Button.TonalButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="0dp"
android:text="@string/revert_selection" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_select_action_main"
style="@style/Widget.Material3Expressive.Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="0dp"
android:text="@string/app_name"
android:visibility="visible" />
</com.google.android.material.button.MaterialButtonGroup>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_menu_more"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginStart="4dp"
android:padding="4dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/more_menu"