This commit is contained in:
Horis
2023-03-26 14:53:26 +08:00
parent c568c86eb8
commit 64a47115a4
3 changed files with 331 additions and 330 deletions
@@ -85,10 +85,9 @@ class ImportBookActivity : BaseImportBookActivity<ImportBookViewModel>(),
override fun onMenuItemClick(item: MenuItem?): Boolean { override fun onMenuItemClick(item: MenuItem?): Boolean {
when (item?.itemId) { when (item?.itemId) {
R.id.menu_del_selection -> R.id.menu_del_selection -> viewModel.deleteDoc(adapter.selectedUris) {
viewModel.deleteDoc(adapter.selectedUris) { adapter.removeSelection()
adapter.removeSelection() }
}
} }
return false return false
} }
@@ -115,7 +115,6 @@ class BookInfoActivity :
binding.refreshLayout?.setColorSchemeColors(accentColor) binding.refreshLayout?.setColorSchemeColors(accentColor)
binding.arcView.setBgColor(backgroundColor) binding.arcView.setBgColor(backgroundColor)
binding.llInfo.setBackgroundColor(backgroundColor) binding.llInfo.setBackgroundColor(backgroundColor)
binding.scrollView.setBackgroundColor(backgroundColor)
binding.flAction.setBackgroundColor(bottomBackground) binding.flAction.setBackgroundColor(bottomBackground)
binding.tvShelf.setTextColor(getPrimaryTextColor(ColorUtils.isColorLight(bottomBackground))) binding.tvShelf.setTextColor(getPrimaryTextColor(ColorUtils.isColorLight(bottomBackground)))
binding.tvToc.text = getString(R.string.toc_s, getString(R.string.loading)) binding.tvToc.text = getString(R.string.toc_s, getString(R.string.loading))
@@ -423,9 +422,6 @@ class BookInfoActivity :
} }
} }
} }
scrollView.setOnScrollChangeListener { _, _, scrollY, _, _ ->
refreshLayout?.isEnabled = (scrollY <= 0)
}
refreshLayout?.setOnRefreshListener { refreshLayout?.setOnRefreshListener {
refreshLayout.isRefreshing = false refreshLayout.isRefreshing = false
refreshBook() refreshBook()
+328 -322
View File
@@ -10,395 +10,401 @@
android:id="@+id/bg_book" android:id="@+id/bg_book"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:scaleType="centerCrop"
android:contentDescription="@string/bg_image" android:contentDescription="@string/bg_image"
android:scaleType="centerCrop"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout <LinearLayout
android:id="@+id/refresh_layout" android:id="@+id/vw_bg"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
app:layout_constraintTop_toTopOf="parent" > android:background="#50000000"
android:orientation="vertical">
<LinearLayout <io.legado.app.ui.widget.TitleBar
android:id="@+id/vw_bg" android:id="@+id/title_bar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:background="#50000000" app:layout_constraintTop_toTopOf="parent"
android:orientation="vertical"> app:themeMode="dark"
app:title="@string/book_info" />
<io.legado.app.ui.widget.TitleBar <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/title_bar" android:id="@+id/refresh_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="0dp"
app:layout_constraintTop_toTopOf="parent" android:layout_weight="1">
app:title="@string/book_info"
app:themeMode="dark" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp" >
<io.legado.app.ui.widget.image.ArcView
android:id="@+id/arc_view"
android:layout_marginTop="90dp"
android:layout_width="match_parent"
android:layout_height="78dp"
app:arcDirectionTop="true"
app:arcHeight="36dp"
app:bgColor="@color/background" />
<androidx.cardview.widget.CardView
android:layout_margin="3dp"
android:layout_centerHorizontal="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:cardCornerRadius="5dp"
app:cardElevation="8dp">
<io.legado.app.ui.widget.image.CoverImageView
android:id="@+id/iv_cover"
android:layout_width="110dp"
android:layout_height="160dp"
android:contentDescription="@string/img_cover"
android:scaleType="centerCrop"
android:src="@drawable/image_cover_default" />
</androidx.cardview.widget.CardView>
</RelativeLayout>
<ScrollView <ScrollView
android:id="@+id/scroll_view" android:id="@+id/scroll_view"
android:background="@color/background"
android:layout_weight="1.0"
android:padding="0dp"
android:layout_height="0dp"
android:layout_width="match_parent" android:layout_width="match_parent"
android:scrollbarStyle="outsideInset" android:layout_height="0dp"
android:scrollbars="vertical" android:layout_weight="1.0"
android:fillViewport="true" android:fillViewport="true"
android:fitsSystemWindows="false" android:fitsSystemWindows="false"
android:focusable="true"> android:focusable="true"
android:padding="0dp"
android:scrollbarStyle="outsideOverlay"
android:scrollbars="vertical">
<LinearLayout <LinearLayout
android:id="@+id/ll_info"
android:orientation="vertical"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:paddingBottom="8dp"
android:background="@color/background"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="0dp"
android:orientation="vertical">
<LinearLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:layout_marginTop="8dp">
android:paddingLeft="10dp"
android:paddingTop="8dp"
android:paddingRight="10dp"
android:paddingBottom="3dp">
<TextView <io.legado.app.ui.widget.image.ArcView
android:id="@+id/tv_name" android:id="@+id/arc_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="78dp"
android:layout_marginBottom="6dp" android:layout_marginTop="90dp"
android:gravity="center" app:arcDirectionTop="true"
android:includeFontPadding="false" app:arcHeight="36dp"
android:singleLine="true" app:bgColor="@color/background" />
android:text="@string/book_name"
android:textColor="@color/primaryText"
android:textSize="18sp"
tools:ignore="RtlHardcoded" />
<io.legado.app.ui.widget.LabelsBar <androidx.cardview.widget.CardView
android:id="@+id/lb_kind" android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="6dp" android:layout_centerHorizontal="true"
android:layout_gravity="center" android:layout_margin="3dp"
android:gravity="center" app:cardCornerRadius="5dp"
android:visibility="gone" /> app:cardElevation="8dp">
</LinearLayout> <io.legado.app.ui.widget.image.CoverImageView
android:id="@+id/iv_cover"
android:layout_width="110dp"
android:layout_height="160dp"
android:contentDescription="@string/img_cover"
android:scaleType="centerCrop"
android:src="@drawable/image_cover_default" />
</androidx.cardview.widget.CardView>
</RelativeLayout>
<LinearLayout <LinearLayout
android:id="@+id/ll_info"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background"
android:orientation="vertical" android:orientation="vertical"
android:paddingLeft="8dp" android:paddingLeft="8dp"
android:paddingRight="8dp" android:paddingRight="8dp"
android:paddingBottom="8dp" android:paddingBottom="8dp">
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_vertical" android:orientation="vertical"
android:orientation="horizontal" android:paddingLeft="10dp"
android:paddingTop="3dp" android:paddingTop="8dp"
android:paddingBottom="3dp" android:paddingRight="10dp"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="18sp"
android:layout_height="18sp"
android:contentDescription="@string/author"
android:paddingRight="2dp"
android:src="@drawable/ic_author"
app:tint="@color/tv_text_summary"
tools:ignore="RtlHardcoded,RtlSymmetry" />
<TextView
android:id="@+id/tv_author"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:includeFontPadding="false"
android:paddingRight="6dp"
android:singleLine="true"
android:text="@string/author"
android:textColor="@color/tv_text_summary"
android:textSize="13sp"
tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingTop="3dp"
android:paddingBottom="3dp"> android:paddingBottom="3dp">
<ImageView
android:id="@+id/iv_web"
android:layout_width="18sp"
android:layout_height="18sp"
android:contentDescription="@string/origin_format"
android:paddingRight="2dp"
android:src="@drawable/ic_web_outline"
app:tint="@color/tv_text_summary"
tools:ignore="RtlHardcoded,RtlSymmetry" />
<TextView <TextView
android:id="@+id/tv_origin" android:id="@+id/tv_name"
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_marginBottom="6dp"
android:ellipsize="end" android:gravity="center"
android:includeFontPadding="false" android:includeFontPadding="false"
android:paddingRight="6dp"
android:singleLine="true" android:singleLine="true"
android:textColor="@color/tv_text_summary" android:text="@string/book_name"
android:textSize="13sp" android:textColor="@color/primaryText"
tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry" android:textSize="18sp"
tools:text="@string/origin_format" /> tools:ignore="RtlHardcoded" />
<io.legado.app.ui.widget.text.AccentBgTextView <io.legado.app.ui.widget.LabelsBar
android:id="@+id/tv_change_source" android:id="@+id/lb_kind"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="8dp" android:layout_gravity="center"
android:paddingLeft="5dp" android:layout_marginBottom="6dp"
android:paddingRight="5dp" android:gravity="center"
android:textSize="13sp" android:visibility="gone" />
android:text="@string/change_origin"
app:radius="2dp" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_vertical" android:orientation="vertical"
android:orientation="horizontal" android:paddingLeft="8dp"
android:paddingTop="3dp" android:paddingRight="8dp"
android:paddingBottom="3dp" android:paddingBottom="8dp">
tools:ignore="UseCompoundDrawables">
<ImageView <LinearLayout
android:id="@+id/ic_book_last" android:layout_width="match_parent"
android:layout_width="18sp"
android:layout_height="18sp"
android:paddingRight="2dp"
android:src="@drawable/ic_book_last"
app:tint="@color/tv_text_summary"
android:contentDescription="@string/read_dur_progress"
tools:ignore="RtlHardcoded,RtlSymmetry" />
<TextView
android:id="@+id/tv_lasted"
android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:gravity="center_vertical"
android:ellipsize="end" android:orientation="horizontal"
android:includeFontPadding="false" android:paddingTop="3dp"
android:paddingRight="6dp" android:paddingBottom="3dp"
android:singleLine="true" tools:ignore="UseCompoundDrawables">
android:textColor="@color/tv_text_summary"
android:textSize="13sp" <ImageView
tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry" android:layout_width="18sp"
tools:text="@string/read_dur_progress" /> android:layout_height="18sp"
android:contentDescription="@string/author"
android:paddingRight="2dp"
android:src="@drawable/ic_author"
app:tint="@color/tv_text_summary"
tools:ignore="RtlHardcoded,RtlSymmetry" />
<TextView
android:id="@+id/tv_author"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:includeFontPadding="false"
android:paddingRight="6dp"
android:singleLine="true"
android:text="@string/author"
android:textColor="@color/tv_text_summary"
android:textSize="13sp"
tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingTop="3dp"
android:paddingBottom="3dp">
<ImageView
android:id="@+id/iv_web"
android:layout_width="18sp"
android:layout_height="18sp"
android:contentDescription="@string/origin_format"
android:paddingRight="2dp"
android:src="@drawable/ic_web_outline"
app:tint="@color/tv_text_summary"
tools:ignore="RtlHardcoded,RtlSymmetry" />
<TextView
android:id="@+id/tv_origin"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:includeFontPadding="false"
android:paddingRight="6dp"
android:singleLine="true"
android:textColor="@color/tv_text_summary"
android:textSize="13sp"
tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry"
tools:text="@string/origin_format" />
<io.legado.app.ui.widget.text.AccentBgTextView
android:id="@+id/tv_change_source"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:text="@string/change_origin"
android:textSize="13sp"
app:radius="2dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingTop="3dp"
android:paddingBottom="3dp"
tools:ignore="UseCompoundDrawables">
<ImageView
android:id="@+id/ic_book_last"
android:layout_width="18sp"
android:layout_height="18sp"
android:contentDescription="@string/read_dur_progress"
android:paddingRight="2dp"
android:src="@drawable/ic_book_last"
app:tint="@color/tv_text_summary"
tools:ignore="RtlHardcoded,RtlSymmetry" />
<TextView
android:id="@+id/tv_lasted"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:includeFontPadding="false"
android:paddingRight="6dp"
android:singleLine="true"
android:textColor="@color/tv_text_summary"
android:textSize="13sp"
tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry"
tools:text="@string/read_dur_progress" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingTop="3dp"
android:paddingBottom="3dp">
<ImageView
android:layout_width="18sp"
android:layout_height="18sp"
android:contentDescription="@string/read_dur_progress"
android:paddingRight="2dp"
android:src="@drawable/ic_groups"
app:tint="@color/tv_text_summary"
tools:ignore="RtlHardcoded,RtlSymmetry" />
<TextView
android:id="@+id/tv_group"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:includeFontPadding="false"
android:paddingRight="6dp"
android:singleLine="true"
android:textColor="@color/tv_text_summary"
android:textSize="13sp"
tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry"
tools:text="@string/group_s" />
<io.legado.app.ui.widget.text.AccentBgTextView
android:id="@+id/tv_change_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:text="@string/change_group"
android:textSize="13sp"
app:radius="2dp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_toc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingTop="3dp"
android:paddingBottom="3dp">
<ImageView
android:layout_width="18sp"
android:layout_height="18sp"
android:contentDescription="@string/read_dur_progress"
android:paddingRight="2dp"
android:src="@drawable/ic_folder_open"
app:tint="@color/tv_text_summary"
tools:ignore="RtlHardcoded,RtlSymmetry" />
<TextView
android:id="@+id/tv_toc"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:includeFontPadding="false"
android:paddingRight="6dp"
android:singleLine="true"
android:textColor="@color/tv_text_summary"
android:textSize="13sp"
tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry"
tools:text="@string/toc_s" />
<io.legado.app.ui.widget.text.AccentBgTextView
android:id="@+id/tv_toc_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:text="@string/view_toc"
android:textSize="13sp"
app:radius="2dp" />
</LinearLayout>
</LinearLayout> </LinearLayout>
<LinearLayout <io.legado.app.ui.widget.text.ScrollTextView
android:id="@+id/tv_intro"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_vertical" android:layout_marginTop="8dp"
android:orientation="horizontal" android:clickable="true"
android:paddingTop="3dp" android:focusable="true"
android:paddingBottom="3dp"> android:minHeight="48dp"
android:paddingLeft="8dp"
<ImageView android:paddingBottom="8dp"
android:layout_width="18sp" android:text="@string/book_intro"
android:layout_height="18sp" android:textColor="@color/secondaryText"
android:paddingRight="2dp" android:textSize="14sp"
android:src="@drawable/ic_groups" android:visibility="visible"
app:tint="@color/tv_text_summary" tools:ignore="RtlHardcoded,RtlSymmetry" />
android:contentDescription="@string/read_dur_progress"
tools:ignore="RtlHardcoded,RtlSymmetry" />
<TextView
android:id="@+id/tv_group"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:includeFontPadding="false"
android:paddingRight="6dp"
android:singleLine="true"
android:textColor="@color/tv_text_summary"
android:textSize="13sp"
tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry"
tools:text="@string/group_s" />
<io.legado.app.ui.widget.text.AccentBgTextView
android:id="@+id/tv_change_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:text="@string/change_group"
android:textSize="13sp"
app:radius="2dp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_toc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingTop="3dp"
android:paddingBottom="3dp">
<ImageView
android:layout_width="18sp"
android:layout_height="18sp"
android:contentDescription="@string/read_dur_progress"
android:paddingRight="2dp"
android:src="@drawable/ic_folder_open"
app:tint="@color/tv_text_summary"
tools:ignore="RtlHardcoded,RtlSymmetry" />
<TextView
android:id="@+id/tv_toc"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:includeFontPadding="false"
android:paddingRight="6dp"
android:singleLine="true"
android:textColor="@color/tv_text_summary"
android:textSize="13sp"
tools:ignore="NestedWeights,RtlHardcoded,RtlSymmetry"
tools:text="@string/toc_s" />
<io.legado.app.ui.widget.text.AccentBgTextView
android:id="@+id/tv_toc_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:text="@string/view_toc"
android:textSize="13sp"
app:radius="2dp" />
</LinearLayout>
</LinearLayout> </LinearLayout>
<io.legado.app.ui.widget.text.ScrollTextView
android:id="@+id/tv_intro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:clickable="true"
android:focusable="true"
android:minHeight="48dp"
android:paddingLeft="8dp"
android:paddingBottom="8dp"
android:text="@string/book_intro"
android:textColor="@color/secondaryText"
android:textSize="14sp"
android:visibility="visible"
tools:ignore="RtlHardcoded,RtlSymmetry" />
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>
<View </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@color/bg_divider_line" />
<LinearLayout <View
android:id="@+id/fl_action" android:layout_width="match_parent"
android:layout_width="match_parent" android:layout_height="1px"
android:layout_height="50dp" android:background="@color/bg_divider_line" />
android:background="@color/background_menu"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent">
<TextView <LinearLayout
android:id="@+id/tv_shelf" android:id="@+id/fl_action"
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="50dp"
android:layout_weight="1" android:background="@color/background_menu"
android:background="?attr/selectableItemBackground" android:orientation="horizontal"
android:clickable="true" app:layout_constraintBottom_toBottomOf="parent">
android:focusable="true"
android:gravity="center"
android:includeFontPadding="false"
android:text="@string/remove_from_bookshelf"
android:textColor="@color/primaryText"
android:textSize="15sp" />
<io.legado.app.ui.widget.text.AccentBgTextView <TextView
android:id="@+id/tv_read" android:id="@+id/tv_shelf"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:gravity="center" android:background="?attr/selectableItemBackground"
android:includeFontPadding="false" android:clickable="true"
android:text="@string/reading" android:focusable="true"
android:textSize="15sp" /> android:gravity="center"
android:includeFontPadding="false"
android:text="@string/remove_from_bookshelf"
android:textColor="@color/primaryText"
android:textSize="15sp" />
</LinearLayout> <io.legado.app.ui.widget.text.AccentBgTextView
android:id="@+id/tv_read"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:includeFontPadding="false"
android:text="@string/reading"
android:textSize="15sp" />
</LinearLayout> </LinearLayout>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout> </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>