|
|
@ -9,19 +9,17 @@ |
|
|
|
<ImageView |
|
|
|
<ImageView |
|
|
|
android:id="@+id/bg_book" |
|
|
|
android:id="@+id/bg_book" |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_height="0dp" |
|
|
|
android:layout_height="match_parent" |
|
|
|
android:scaleType="centerCrop" |
|
|
|
android:scaleType="centerCrop" |
|
|
|
android:contentDescription="@string/bg_image" |
|
|
|
android:contentDescription="@string/bg_image" |
|
|
|
app:layout_constraintBottom_toTopOf="@+id/view_info" |
|
|
|
|
|
|
|
app:layout_constraintTop_toTopOf="parent" /> |
|
|
|
app:layout_constraintTop_toTopOf="parent" /> |
|
|
|
|
|
|
|
|
|
|
|
<View |
|
|
|
<LinearLayout |
|
|
|
android:id="@+id/vw_bg" |
|
|
|
android:id="@+id/vw_bg" |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_height="0dp" |
|
|
|
android:layout_height="match_parent" |
|
|
|
android:background="#50000000" |
|
|
|
android:background="#50000000" |
|
|
|
app:layout_constraintBottom_toTopOf="@+id/view_info" |
|
|
|
android:orientation="vertical"> |
|
|
|
app:layout_constraintTop_toTopOf="parent" /> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<androidx.appcompat.widget.Toolbar |
|
|
|
<androidx.appcompat.widget.Toolbar |
|
|
|
android:id="@+id/toolbar" |
|
|
|
android:id="@+id/toolbar" |
|
|
@ -33,61 +31,167 @@ |
|
|
|
app:layout_constraintTop_toTopOf="parent" |
|
|
|
app:layout_constraintTop_toTopOf="parent" |
|
|
|
app:title="@string/book_info" /> |
|
|
|
app:title="@string/book_info" /> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<RelativeLayout |
|
|
|
|
|
|
|
android:layout_width="match_parent" |
|
|
|
|
|
|
|
android:layout_height="wrap_content" |
|
|
|
|
|
|
|
android:layout_marginTop="8dp"> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<io.legado.app.ui.widget.ArcView |
|
|
|
|
|
|
|
app:arcHeight="36dp" |
|
|
|
|
|
|
|
app:bgColor="@color/background" |
|
|
|
|
|
|
|
app:arcDirectionTop="true" |
|
|
|
|
|
|
|
android:layout_marginTop="90dp" |
|
|
|
|
|
|
|
android:layout_width="match_parent" |
|
|
|
|
|
|
|
android:layout_height="78dp" /> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<androidx.cardview.widget.CardView |
|
|
|
|
|
|
|
app:cardCornerRadius="5dp" |
|
|
|
|
|
|
|
app:cardElevation="8dp" |
|
|
|
|
|
|
|
android:layout_margin="3dp" |
|
|
|
|
|
|
|
android:layout_centerHorizontal="true" |
|
|
|
|
|
|
|
android:layout_width="wrap_content" |
|
|
|
|
|
|
|
android:layout_height="wrap_content"> |
|
|
|
|
|
|
|
|
|
|
|
<io.legado.app.ui.widget.image.CoverImageView |
|
|
|
<io.legado.app.ui.widget.image.CoverImageView |
|
|
|
android:id="@+id/iv_cover" |
|
|
|
android:id="@+id/iv_cover" |
|
|
|
android:layout_width="110dp" |
|
|
|
android:layout_width="110dp" |
|
|
|
android:layout_height="160dp" |
|
|
|
android:layout_height="160dp" |
|
|
|
android:layout_margin="10dp" |
|
|
|
android:contentDescription="@string/img_cover" |
|
|
|
android:scaleType="centerCrop" |
|
|
|
android:scaleType="centerCrop" |
|
|
|
android:src="@drawable/image_cover_default" |
|
|
|
android:src="@drawable/image_cover_default" /> |
|
|
|
app:layout_constraintLeft_toLeftOf="parent" |
|
|
|
|
|
|
|
app:layout_constraintTop_toBottomOf="@+id/toolbar" /> |
|
|
|
</androidx.cardview.widget.CardView> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</RelativeLayout> |
|
|
|
|
|
|
|
|
|
|
|
<LinearLayout |
|
|
|
<LinearLayout |
|
|
|
android:id="@+id/ll_book_info" |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_width="0dp" |
|
|
|
|
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:layout_marginLeft="12dp" |
|
|
|
android:background="@color/background" |
|
|
|
android:layout_marginRight="12dp" |
|
|
|
|
|
|
|
android:minHeight="115dp" |
|
|
|
|
|
|
|
android:orientation="vertical" |
|
|
|
android:orientation="vertical" |
|
|
|
app:layout_constraintBottom_toBottomOf="@+id/iv_cover" |
|
|
|
android:paddingLeft="10dp" |
|
|
|
app:layout_constraintLeft_toRightOf="@+id/iv_cover" |
|
|
|
android:paddingTop="8dp" |
|
|
|
app:layout_constraintRight_toRightOf="parent" |
|
|
|
android:paddingRight="10dp" |
|
|
|
app:layout_constraintTop_toTopOf="@+id/iv_cover"> |
|
|
|
android:paddingBottom="3dp"> |
|
|
|
|
|
|
|
|
|
|
|
<TextView |
|
|
|
<TextView |
|
|
|
android:id="@+id/tv_name" |
|
|
|
android:id="@+id/tv_name" |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:layout_marginBottom="6dp" |
|
|
|
android:layout_marginBottom="6dp" |
|
|
|
|
|
|
|
android:gravity="center" |
|
|
|
|
|
|
|
android:includeFontPadding="false" |
|
|
|
android:singleLine="true" |
|
|
|
android:singleLine="true" |
|
|
|
android:textColor="@color/md_white_1000" |
|
|
|
android:text="@string/book_name" |
|
|
|
android:textSize="18sp" /> |
|
|
|
android:textColor="@color/tv_text_default" |
|
|
|
|
|
|
|
android:textSize="18sp" |
|
|
|
|
|
|
|
tools:ignore="RtlHardcoded" /> |
|
|
|
|
|
|
|
|
|
|
|
<TextView |
|
|
|
<io.legado.app.ui.widget.LabelsBar |
|
|
|
android:id="@+id/tv_author" |
|
|
|
android:id="@+id/lb_kind" |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:layout_marginBottom="3dp" |
|
|
|
android:layout_marginBottom="3dp" |
|
|
|
|
|
|
|
android:layout_gravity="center" |
|
|
|
|
|
|
|
android:gravity="center" |
|
|
|
|
|
|
|
android:visibility="gone" /> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</LinearLayout> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<ScrollView |
|
|
|
|
|
|
|
android:background="@color/background" |
|
|
|
|
|
|
|
android:layout_weight="1.0" |
|
|
|
|
|
|
|
android:padding="0dp" |
|
|
|
|
|
|
|
android:layout_height="0dp" |
|
|
|
|
|
|
|
android:layout_width="match_parent" |
|
|
|
|
|
|
|
android:scrollbarStyle="outsideInset" |
|
|
|
|
|
|
|
android:scrollbars="vertical" |
|
|
|
|
|
|
|
android:fillViewport="true" |
|
|
|
|
|
|
|
android:fitsSystemWindows="false" |
|
|
|
|
|
|
|
android:focusable="true" > |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<LinearLayout |
|
|
|
|
|
|
|
android:orientation="vertical" |
|
|
|
|
|
|
|
android:paddingLeft="8dp" |
|
|
|
|
|
|
|
android:paddingRight="8dp" |
|
|
|
|
|
|
|
android:paddingBottom="8dp" |
|
|
|
|
|
|
|
android:background="@color/background" |
|
|
|
|
|
|
|
android:layout_width="match_parent" |
|
|
|
|
|
|
|
android:layout_height="wrap_content"> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<LinearLayout |
|
|
|
|
|
|
|
android:orientation="vertical" |
|
|
|
|
|
|
|
android:paddingLeft="8dp" |
|
|
|
|
|
|
|
android:paddingRight="8dp" |
|
|
|
|
|
|
|
android:paddingBottom="8dp" |
|
|
|
|
|
|
|
android:background="@color/background" |
|
|
|
|
|
|
|
android:layout_width="match_parent" |
|
|
|
|
|
|
|
android:layout_height="wrap_content"> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<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/origin_format" |
|
|
|
|
|
|
|
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:singleLine="true" |
|
|
|
android:textColor="@color/md_white_1000" |
|
|
|
android:text="@string/author" |
|
|
|
android:textSize="16sp" /> |
|
|
|
android:textColor="@color/tv_text_summary" |
|
|
|
|
|
|
|
android:textSize="13sp" |
|
|
|
|
|
|
|
tools:ignore="NestedWeights" /> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</LinearLayout> |
|
|
|
|
|
|
|
|
|
|
|
<LinearLayout |
|
|
|
<LinearLayout |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:layout_marginBottom="4dp" |
|
|
|
android:gravity="center_vertical" |
|
|
|
android:orientation="horizontal"> |
|
|
|
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 |
|
|
|
<TextView |
|
|
|
android:id="@+id/tv_origin" |
|
|
|
android:id="@+id/tv_origin" |
|
|
|
android:layout_width="0dp" |
|
|
|
android:layout_width="0dp" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:layout_weight="1" |
|
|
|
android:layout_weight="1" |
|
|
|
|
|
|
|
android:ellipsize="end" |
|
|
|
|
|
|
|
android:includeFontPadding="false" |
|
|
|
|
|
|
|
android:paddingRight="6dp" |
|
|
|
android:singleLine="true" |
|
|
|
android:singleLine="true" |
|
|
|
android:textSize="16sp" |
|
|
|
android:text="@string/origin_format" |
|
|
|
android:textColor="@color/md_white_1000" |
|
|
|
android:textColor="@color/tv_text_summary" |
|
|
|
|
|
|
|
android:textSize="13sp" |
|
|
|
tools:ignore="NestedWeights" /> |
|
|
|
tools:ignore="NestedWeights" /> |
|
|
|
|
|
|
|
|
|
|
|
<io.legado.app.ui.widget.text.AccentBgTextView |
|
|
|
<io.legado.app.ui.widget.text.AccentBgTextView |
|
|
@ -103,71 +207,64 @@ |
|
|
|
|
|
|
|
|
|
|
|
</LinearLayout> |
|
|
|
</LinearLayout> |
|
|
|
|
|
|
|
|
|
|
|
<io.legado.app.ui.widget.LabelsBar |
|
|
|
<LinearLayout |
|
|
|
android:id="@+id/lb_kind" |
|
|
|
|
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:layout_marginBottom="3dp" |
|
|
|
android:gravity="center_vertical" |
|
|
|
android:visibility="gone" /> |
|
|
|
android:orientation="horizontal" |
|
|
|
|
|
|
|
android:paddingTop="3dp" |
|
|
|
|
|
|
|
android:paddingBottom="3dp"> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<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 |
|
|
|
<TextView |
|
|
|
android:id="@+id/tv_lasted" |
|
|
|
android:id="@+id/tv_lasted" |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_width="0dp" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:layout_marginBottom="4dp" |
|
|
|
android:layout_weight="1" |
|
|
|
|
|
|
|
android:ellipsize="end" |
|
|
|
|
|
|
|
android:includeFontPadding="false" |
|
|
|
|
|
|
|
android:paddingRight="6dp" |
|
|
|
android:singleLine="true" |
|
|
|
android:singleLine="true" |
|
|
|
android:textSize="16sp" |
|
|
|
android:text="@string/read_dur_progress" |
|
|
|
android:textColor="@color/md_white_1000" |
|
|
|
android:textColor="@color/tv_text_summary" |
|
|
|
app:layout_constraintBottom_toBottomOf="@+id/iv_cover" |
|
|
|
android:textSize="13sp" |
|
|
|
app:layout_constraintLeft_toLeftOf="@+id/tv_name" |
|
|
|
tools:ignore="NestedWeights" /> |
|
|
|
app:layout_constraintRight_toRightOf="@id/tv_name" /> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</LinearLayout> |
|
|
|
</LinearLayout> |
|
|
|
|
|
|
|
|
|
|
|
<LinearLayout |
|
|
|
</LinearLayout> |
|
|
|
android:id="@+id/view_info" |
|
|
|
|
|
|
|
android:layout_width="match_parent" |
|
|
|
|
|
|
|
android:layout_height="0dp" |
|
|
|
|
|
|
|
android:layout_marginTop="10dp" |
|
|
|
|
|
|
|
android:orientation="vertical" |
|
|
|
|
|
|
|
app:layout_constraintBottom_toTopOf="@+id/view_other" |
|
|
|
|
|
|
|
app:layout_constraintTop_toBottomOf="@+id/iv_cover"> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<View |
|
|
|
|
|
|
|
android:layout_width="match_parent" |
|
|
|
|
|
|
|
android:layout_height="5dp" |
|
|
|
|
|
|
|
android:background="@color/bg_divider_line" /> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<TextView |
|
|
|
<io.legado.app.ui.widget.text.ScrollTextView |
|
|
|
|
|
|
|
android:id="@+id/tv_intro" |
|
|
|
|
|
|
|
android:layout_marginTop="8dp" |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:padding="8dp" |
|
|
|
android:clickable="true" |
|
|
|
|
|
|
|
android:focusable="true" |
|
|
|
android:text="@string/book_intro" |
|
|
|
android:text="@string/book_intro" |
|
|
|
android:textStyle="bold" |
|
|
|
android:textColor="@color/tv_text_secondary" |
|
|
|
android:textColor="@color/tv_text_default" |
|
|
|
android:textSize="14sp" |
|
|
|
android:textSize="16sp" /> |
|
|
|
android:paddingLeft="8dp" |
|
|
|
|
|
|
|
android:visibility="visible" /> |
|
|
|
<TextView |
|
|
|
|
|
|
|
android:id="@+id/tv_intro" |
|
|
|
|
|
|
|
android:layout_width="match_parent" |
|
|
|
|
|
|
|
android:layout_height="0dp" |
|
|
|
|
|
|
|
android:layout_weight="1" |
|
|
|
|
|
|
|
android:layout_marginLeft="8dp" |
|
|
|
|
|
|
|
android:layout_marginRight="8dp" |
|
|
|
|
|
|
|
android:minHeight="100dp" |
|
|
|
|
|
|
|
android:textSize="14sp" /> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<View |
|
|
|
|
|
|
|
android:layout_width="match_parent" |
|
|
|
|
|
|
|
android:layout_height="5dp" |
|
|
|
|
|
|
|
android:background="@color/bg_divider_line" /> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</LinearLayout> |
|
|
|
</LinearLayout> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</ScrollView> |
|
|
|
|
|
|
|
|
|
|
|
<LinearLayout |
|
|
|
<LinearLayout |
|
|
|
android:id="@+id/view_other" |
|
|
|
android:id="@+id/view_other" |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
|
|
|
|
android:background="@color/background" |
|
|
|
android:orientation="vertical" |
|
|
|
android:orientation="vertical" |
|
|
|
android:paddingTop="12dp" |
|
|
|
android:paddingTop="12dp" |
|
|
|
android:paddingBottom="12dp" |
|
|
|
android:paddingBottom="12dp" |
|
|
@ -180,6 +277,7 @@ |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:padding="12dp" |
|
|
|
android:padding="12dp" |
|
|
|
android:singleLine="true" |
|
|
|
android:singleLine="true" |
|
|
|
|
|
|
|
android:clickable="true" |
|
|
|
android:text="@string/group_s" |
|
|
|
android:text="@string/group_s" |
|
|
|
android:textColor="@color/tv_text_default" |
|
|
|
android:textColor="@color/tv_text_default" |
|
|
|
android:textSize="16sp" /> |
|
|
|
android:textSize="16sp" /> |
|
|
@ -189,13 +287,20 @@ |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:layout_height="wrap_content" |
|
|
|
android:padding="12dp" |
|
|
|
android:padding="12dp" |
|
|
|
|
|
|
|
android:background="?attr/selectableItemBackground" |
|
|
|
android:singleLine="true" |
|
|
|
android:singleLine="true" |
|
|
|
|
|
|
|
android:clickable="true" |
|
|
|
android:text="@string/toc_s" |
|
|
|
android:text="@string/toc_s" |
|
|
|
android:textColor="@color/tv_text_default" |
|
|
|
android:textColor="@color/tv_text_default" |
|
|
|
android:textSize="16sp" /> |
|
|
|
android:textSize="16sp" /> |
|
|
|
|
|
|
|
|
|
|
|
</LinearLayout> |
|
|
|
</LinearLayout> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<View |
|
|
|
|
|
|
|
android:layout_width="match_parent" |
|
|
|
|
|
|
|
android:layout_height="1px" |
|
|
|
|
|
|
|
android:background="@color/bg_divider_line" /> |
|
|
|
|
|
|
|
|
|
|
|
<LinearLayout |
|
|
|
<LinearLayout |
|
|
|
android:id="@+id/fl_action" |
|
|
|
android:id="@+id/fl_action" |
|
|
|
android:layout_width="match_parent" |
|
|
|
android:layout_width="match_parent" |
|
|
@ -232,4 +337,7 @@ |
|
|
|
|
|
|
|
|
|
|
|
</LinearLayout> |
|
|
|
</LinearLayout> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</LinearLayout> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</androidx.constraintlayout.widget.ConstraintLayout> |
|
|
|
</androidx.constraintlayout.widget.ConstraintLayout> |