commit
						44fd594a2f
					
				@ -1,67 +1,57 @@ | 
				
			||||
package io.legado.app.ui.widget | 
				
			||||
 | 
				
			||||
import android.annotation.SuppressLint | 
				
			||||
import android.content.Context | 
				
			||||
import android.graphics.Canvas | 
				
			||||
import android.graphics.Paint | 
				
			||||
import android.graphics.Rect | 
				
			||||
import android.graphics.Typeface | 
				
			||||
import android.text.StaticLayout | 
				
			||||
import android.text.TextPaint | 
				
			||||
import android.util.AttributeSet | 
				
			||||
import android.view.View | 
				
			||||
import androidx.annotation.ColorInt | 
				
			||||
import io.legado.app.R | 
				
			||||
import androidx.appcompat.widget.AppCompatTextView | 
				
			||||
import io.legado.app.utils.dp | 
				
			||||
import io.legado.app.utils.getCompatColor | 
				
			||||
import io.legado.app.utils.sp | 
				
			||||
 | 
				
			||||
class BatteryView(context: Context, attrs: AttributeSet?) : View(context, attrs) { | 
				
			||||
    private var battery = 100 | 
				
			||||
    private val textPaint = TextPaint() | 
				
			||||
    private var batteryHeight: Int = 0 | 
				
			||||
    private var batteryWidth: Int = 0 | 
				
			||||
class BatteryView(context: Context, attrs: AttributeSet?) : AppCompatTextView(context, attrs) { | 
				
			||||
    private val batteryPaint = Paint() | 
				
			||||
    private val outFrame = Rect() | 
				
			||||
    private val polar = Rect() | 
				
			||||
 | 
				
			||||
    init { | 
				
			||||
        textPaint.textSize = 10.sp.toFloat() | 
				
			||||
        textPaint.strokeWidth = 1.dp.toFloat() | 
				
			||||
        textPaint.isAntiAlias = true | 
				
			||||
        textPaint.textAlign = Paint.Align.CENTER | 
				
			||||
        textPaint.color = context.getCompatColor(R.color.tv_text_default) | 
				
			||||
        textPaint.typeface = Typeface.createFromAsset(context.assets, "number.ttf") | 
				
			||||
        batteryHeight = with(textPaint.fontMetrics) { descent - ascent + leading }.toInt() | 
				
			||||
        batteryWidth = StaticLayout.getDesiredWidth("100", textPaint).toInt() + 10.dp | 
				
			||||
        outFrame.set(1.dp, 1.dp, batteryWidth - 3.dp, batteryHeight - 1.dp) | 
				
			||||
        polar.set(outFrame.right, batteryHeight / 3, batteryWidth, batteryHeight * 2 / 3) | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { | 
				
			||||
        super.onMeasure( | 
				
			||||
            MeasureSpec.makeMeasureSpec(batteryWidth, MeasureSpec.EXACTLY), | 
				
			||||
            MeasureSpec.makeMeasureSpec(batteryHeight, MeasureSpec.EXACTLY) | 
				
			||||
        ) | 
				
			||||
        setPadding(4.dp, 0, 6.dp, 0) | 
				
			||||
        batteryPaint.strokeWidth = 1.dp.toFloat() | 
				
			||||
        batteryPaint.isAntiAlias = true | 
				
			||||
        batteryPaint.color = paint.color | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    fun setColor(@ColorInt color: Int) { | 
				
			||||
        textPaint.color = color | 
				
			||||
        setTextColor(color) | 
				
			||||
        batteryPaint.color = color | 
				
			||||
        invalidate() | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    @SuppressLint("SetTextI18n") | 
				
			||||
    fun setBattery(battery: Int) { | 
				
			||||
        this.battery = battery | 
				
			||||
        invalidate() | 
				
			||||
        text = "$battery" | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    override fun onDraw(canvas: Canvas) { | 
				
			||||
        super.onDraw(canvas) | 
				
			||||
        textPaint.style = Paint.Style.STROKE | 
				
			||||
        canvas.drawRect(outFrame, textPaint) | 
				
			||||
        textPaint.style = Paint.Style.FILL | 
				
			||||
        canvas.drawRect(polar, textPaint) | 
				
			||||
        val text = battery.toString() | 
				
			||||
        val baseHeight = batteryHeight - textPaint.fontMetrics.descent | 
				
			||||
        canvas.drawText(text, outFrame.right / 2.toFloat(), baseHeight, textPaint) | 
				
			||||
        outFrame.set( | 
				
			||||
            1.dp, | 
				
			||||
            layout.getLineTop(0) + 2.dp, | 
				
			||||
            width - 3.dp, | 
				
			||||
            layout.getLineBottom(0) - 2.dp | 
				
			||||
        ) | 
				
			||||
        val dj = (outFrame.bottom - outFrame.top) / 3 | 
				
			||||
        polar.set( | 
				
			||||
            outFrame.right, | 
				
			||||
            outFrame.top + dj, | 
				
			||||
            width - 1.dp, | 
				
			||||
            outFrame.bottom - dj | 
				
			||||
        ) | 
				
			||||
        batteryPaint.style = Paint.Style.STROKE | 
				
			||||
        canvas.drawRect(outFrame, batteryPaint) | 
				
			||||
        batteryPaint.style = Paint.Style.FILL | 
				
			||||
        canvas.drawRect(polar, batteryPaint) | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
} | 
				
			||||
@ -0,0 +1,419 @@ | 
				
			||||
<?xml version="1.0" encoding="utf-8"?> | 
				
			||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" | 
				
			||||
    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:orientation="vertical"> | 
				
			||||
 | 
				
			||||
    <ImageView | 
				
			||||
        android:id="@+id/bg_book" | 
				
			||||
        android:layout_width="match_parent" | 
				
			||||
        android:layout_height="match_parent" | 
				
			||||
        android:scaleType="centerCrop" | 
				
			||||
        android:contentDescription="@string/bg_image" | 
				
			||||
        app:layout_constraintTop_toTopOf="parent" /> | 
				
			||||
 | 
				
			||||
    <androidx.appcompat.widget.Toolbar | 
				
			||||
        android:id="@+id/toolbar" | 
				
			||||
        android:layout_width="match_parent" | 
				
			||||
        android:layout_height="wrap_content" | 
				
			||||
        android:theme="?attr/actionBarStyle" | 
				
			||||
        android:fitsSystemWindows="true" | 
				
			||||
        app:popupTheme="@style/AppTheme.PopupOverlay" | 
				
			||||
        app:layout_constraintTop_toTopOf="parent" | 
				
			||||
        app:title="@string/book_info" /> | 
				
			||||
 | 
				
			||||
    <LinearLayout | 
				
			||||
        android:id="@+id/vw_bg" | 
				
			||||
        android:layout_width="match_parent" | 
				
			||||
        android:layout_height="match_parent" | 
				
			||||
        android:background="#50000000" | 
				
			||||
        android:orientation="horizontal" | 
				
			||||
        android:fitsSystemWindows="true"> | 
				
			||||
 | 
				
			||||
        <LinearLayout | 
				
			||||
            android:layout_width="match_parent" | 
				
			||||
            android:layout_height="match_parent" | 
				
			||||
            android:layout_weight="1.0" | 
				
			||||
            android:layout_gravity="center" | 
				
			||||
            android:gravity="center" | 
				
			||||
            android:orientation="vertical"> | 
				
			||||
 | 
				
			||||
            <RelativeLayout | 
				
			||||
                android:layout_width="match_parent" | 
				
			||||
                android:layout_height="wrap_content" | 
				
			||||
                android:layout_marginTop="68dp"> | 
				
			||||
 | 
				
			||||
                <io.legado.app.ui.widget.ArcView | 
				
			||||
                    android:layout_width="match_parent" | 
				
			||||
                    android:layout_height="78dp" | 
				
			||||
                    android:layout_marginTop="120dp" | 
				
			||||
                    app:arcDirectionTop="true" | 
				
			||||
                    app:arcHeight="36dp" | 
				
			||||
                    app:bgColor="@color/background" /> | 
				
			||||
 | 
				
			||||
                <androidx.cardview.widget.CardView | 
				
			||||
                    android:layout_width="wrap_content" | 
				
			||||
                    android:layout_height="wrap_content" | 
				
			||||
                    android:layout_centerHorizontal="true" | 
				
			||||
                    android:layout_margin="3dp" | 
				
			||||
                    app:cardCornerRadius="5dp" | 
				
			||||
                    app:cardElevation="8dp"> | 
				
			||||
 | 
				
			||||
                    <io.legado.app.ui.widget.image.CoverImageView | 
				
			||||
                        android:id="@+id/iv_cover" | 
				
			||||
                        android:layout_width="130dp" | 
				
			||||
                        android:layout_height="200dp" | 
				
			||||
                        android:contentDescription="@string/img_cover" | 
				
			||||
                        android:scaleType="centerCrop" | 
				
			||||
                        android:src="@drawable/image_cover_default" /> | 
				
			||||
 | 
				
			||||
                </androidx.cardview.widget.CardView> | 
				
			||||
 | 
				
			||||
            </RelativeLayout> | 
				
			||||
 | 
				
			||||
            <LinearLayout | 
				
			||||
                android:layout_width="match_parent" | 
				
			||||
                android:layout_height="match_parent" | 
				
			||||
                android:background="@color/background" | 
				
			||||
                android:orientation="vertical" | 
				
			||||
                android:paddingLeft="10dp" | 
				
			||||
                android:paddingTop="8dp" | 
				
			||||
                android:paddingRight="16dp" | 
				
			||||
                android:paddingBottom="3dp"> | 
				
			||||
 | 
				
			||||
                <TextView | 
				
			||||
                    android:id="@+id/tv_name" | 
				
			||||
                    android:layout_width="match_parent" | 
				
			||||
                    android:layout_height="wrap_content" | 
				
			||||
                    android:layout_marginBottom="6dp" | 
				
			||||
                    android:gravity="center" | 
				
			||||
                    android:includeFontPadding="false" | 
				
			||||
                    android:singleLine="true" | 
				
			||||
                    android:text="@string/book_name" | 
				
			||||
                    android:textColor="@color/tv_text_default" | 
				
			||||
                    android:textSize="18sp" | 
				
			||||
                    tools:ignore="RtlHardcoded" /> | 
				
			||||
 | 
				
			||||
                <io.legado.app.ui.widget.LabelsBar | 
				
			||||
                    android:id="@+id/lb_kind" | 
				
			||||
                    android:layout_width="match_parent" | 
				
			||||
                    android:layout_height="wrap_content" | 
				
			||||
                    android:layout_gravity="center" | 
				
			||||
                    android:layout_marginBottom="6dp" | 
				
			||||
                    android:gravity="center" | 
				
			||||
                    android:visibility="gone" /> | 
				
			||||
 | 
				
			||||
                <LinearLayout | 
				
			||||
                    android:layout_width="wrap_content" | 
				
			||||
                    android:layout_height="match_parent" | 
				
			||||
                    android:gravity="center" | 
				
			||||
                    android:layout_gravity="center" | 
				
			||||
                    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="4dp" | 
				
			||||
                        android:src="@drawable/ic_author" | 
				
			||||
                        app:tint="@color/tv_text_summary" | 
				
			||||
                        tools:ignore="RtlHardcoded,RtlSymmetry" /> | 
				
			||||
 | 
				
			||||
                    <TextView | 
				
			||||
                        android:id="@+id/tv_author" | 
				
			||||
                        android:layout_width="wrap_content" | 
				
			||||
                        android:layout_height="wrap_content" | 
				
			||||
                        android:ellipsize="end" | 
				
			||||
                        android:includeFontPadding="false" | 
				
			||||
                        android:singleLine="true" | 
				
			||||
                        android:text="@string/author" | 
				
			||||
                        android:textColor="@color/tv_text_summary" | 
				
			||||
                        android:textSize="13sp" | 
				
			||||
                        tools:ignore="NestedWeights" /> | 
				
			||||
 | 
				
			||||
                </LinearLayout> | 
				
			||||
 | 
				
			||||
            </LinearLayout> | 
				
			||||
 | 
				
			||||
 | 
				
			||||
        </LinearLayout> | 
				
			||||
 | 
				
			||||
 | 
				
			||||
        <LinearLayout | 
				
			||||
            android:layout_weight="1.0" | 
				
			||||
            android:orientation="vertical" | 
				
			||||
            android:layout_marginTop="65dp" | 
				
			||||
            android:layout_marginLeft="1px" | 
				
			||||
            android:fitsSystemWindows="true" | 
				
			||||
            android:layout_width="match_parent" | 
				
			||||
            android:layout_height="match_parent"> | 
				
			||||
 | 
				
			||||
            <ScrollView | 
				
			||||
                android:layout_width="match_parent" | 
				
			||||
                android:layout_height="wrap_content" | 
				
			||||
                android:layout_weight="1" | 
				
			||||
                android:background="@color/background" | 
				
			||||
                android:fillViewport="true" | 
				
			||||
                android:fitsSystemWindows="true" | 
				
			||||
                android:focusable="true" | 
				
			||||
                android:padding="0dp" | 
				
			||||
                android:scrollbarStyle="outsideInset" | 
				
			||||
                android:scrollbars="vertical"> | 
				
			||||
 | 
				
			||||
                <LinearLayout | 
				
			||||
                    android:layout_width="match_parent" | 
				
			||||
                    android:layout_height="wrap_content" | 
				
			||||
                    android:orientation="vertical" | 
				
			||||
                    android:paddingTop="16dp" | 
				
			||||
                    android:paddingLeft="8dp" | 
				
			||||
                    android:paddingRight="8dp" | 
				
			||||
                    android:paddingBottom="8dp"> | 
				
			||||
 | 
				
			||||
                    <LinearLayout | 
				
			||||
                        android:layout_width="match_parent" | 
				
			||||
                        android:layout_height="wrap_content" | 
				
			||||
                        android:background="@color/background" | 
				
			||||
                        android:orientation="vertical" | 
				
			||||
                        android:paddingLeft="8dp" | 
				
			||||
                        android:paddingRight="8dp" | 
				
			||||
                        android:paddingBottom="8dp"> | 
				
			||||
 | 
				
			||||
                        <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:text="@string/origin_format" | 
				
			||||
                                android:textColor="@color/tv_text_summary" | 
				
			||||
                                android:textSize="13sp" | 
				
			||||
                                tools:ignore="NestedWeights" /> | 
				
			||||
 | 
				
			||||
                            <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"> | 
				
			||||
 | 
				
			||||
                            <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:text="@string/read_dur_progress" | 
				
			||||
                                android:textColor="@color/tv_text_summary" | 
				
			||||
                                android:textSize="13sp" | 
				
			||||
                                tools:ignore="NestedWeights" /> | 
				
			||||
 | 
				
			||||
                        </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:text="@string/group_s" | 
				
			||||
                                android:textColor="@color/tv_text_summary" | 
				
			||||
                                android:textSize="13sp" | 
				
			||||
                                tools:ignore="NestedWeights" /> | 
				
			||||
 | 
				
			||||
                            <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: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:text="@string/toc_s" | 
				
			||||
                                android:textColor="@color/tv_text_summary" | 
				
			||||
                                android:textSize="13sp" | 
				
			||||
                                tools:ignore="NestedWeights" /> | 
				
			||||
 | 
				
			||||
                            <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> | 
				
			||||
 | 
				
			||||
                    <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:paddingLeft="8dp" | 
				
			||||
                        android:paddingBottom="8dp" | 
				
			||||
                        android:text="@string/book_intro" | 
				
			||||
                        android:textColor="@color/tv_text_secondary" | 
				
			||||
                        android:textSize="14sp" | 
				
			||||
                        android:visibility="visible" /> | 
				
			||||
 | 
				
			||||
                </LinearLayout> | 
				
			||||
 | 
				
			||||
            </ScrollView> | 
				
			||||
 | 
				
			||||
            <View | 
				
			||||
                android:layout_marginBottom="1px" | 
				
			||||
                android:layout_width="match_parent" | 
				
			||||
                android:layout_height="8dp" | 
				
			||||
                android:background="@color/background"></View> | 
				
			||||
 | 
				
			||||
            <LinearLayout | 
				
			||||
                android:id="@+id/fl_action" | 
				
			||||
                android:layout_width="match_parent" | 
				
			||||
                android:layout_height="50dp" | 
				
			||||
                android:background="@color/background_menu" | 
				
			||||
                android:orientation="horizontal" | 
				
			||||
                app:layout_constraintBottom_toBottomOf="parent"> | 
				
			||||
 | 
				
			||||
                <TextView | 
				
			||||
                    android:id="@+id/tv_shelf" | 
				
			||||
                    android:layout_width="0dp" | 
				
			||||
                    android:layout_height="match_parent" | 
				
			||||
                    android:layout_weight="1" | 
				
			||||
                    android:background="?attr/selectableItemBackground" | 
				
			||||
                    android:clickable="true" | 
				
			||||
                    android:focusable="true" | 
				
			||||
                    android:gravity="center" | 
				
			||||
                    android:includeFontPadding="false" | 
				
			||||
                    android:text="@string/remove_from_bookshelf" | 
				
			||||
                    android:textColor="@color/tv_text_default" | 
				
			||||
                    android:textSize="15sp" /> | 
				
			||||
 | 
				
			||||
                <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:background="@drawable/selector_btn_accent_bg" | 
				
			||||
                    android:gravity="center" | 
				
			||||
                    android:includeFontPadding="false" | 
				
			||||
                    android:text="@string/reading" | 
				
			||||
                    android:textColor="@color/tv_text_button_nor" | 
				
			||||
                    android:textSize="15sp" /> | 
				
			||||
 | 
				
			||||
            </LinearLayout> | 
				
			||||
 | 
				
			||||
        </LinearLayout> | 
				
			||||
 | 
				
			||||
    </LinearLayout> | 
				
			||||
 | 
				
			||||
 | 
				
			||||
</androidx.constraintlayout.widget.ConstraintLayout> | 
				
			||||
					Loading…
					
					
				
		Reference in new issue