Android:仿PC站点的TXT小说阅读器(一)

本文档介绍如何使用Android的WebView开发一款仿PC站点的TXT小说阅读器,旨在提供简洁且省电的阅读体验。通过混合开发,利用WebSettings、CSS和JavascriptInterface等技术,实现类似PC站点的阅读界面,减少频繁翻页,提高阅读效率。
摘要由CSDN通过智能技术生成

前言

以前用过多个小说阅读器APP,有各种各样的款式,包含多种炫酷的翻页方式、漂亮的字体以及各种悦目的背景模式。甚至还有些附带小说朗读功能的下载选择。这些似乎都成为小说阅读APP的潮流。

当然,也有例外的:有一些本地文本阅读器夹杂在这些APP当中。简单干净的界面、文本阅读、本地化是其主要的标签。早些年,移动互联网还没有如今盛行的Android安卓形势,TXT文本和在线站点小说同时是小说阅读的两大主流方式。如今,小说阅读APP已然出现超越前二者的趋势,成为小说阅读的主流方式。

尽管形势比人强,但并不妨碍TXT文本小说爱好者的热情。基于此,bz决定写一个简单易用的本地文本阅读APP。

构想

由于篇幅和时间精力的限制,阅读APP的界面和功能必须尽可能的简洁。同时,考虑到读者的需求,应当尽可能地减少单位时间内电池的损耗。基于以上简单精益求精的要求,采用Webkit的WebView混合开发的方式,当前情境下是较为符合的。为了快速形成原型和符合原有读者的阅读习惯,可以采用像PC站点那样的在线小说阅读界面样式。

像一些小说阅读APP,虽然翻页方式炫酷多样,但是,每页字数非常有限,读者需要频繁的滑动或点击翻页。对于篇幅稍长的中长篇小说,完成阅读所需要花费在翻页上面的时间损耗是比较客观的。这对于一些需要细读和慢读的读者来说,这无疑是糟糕透顶的体验。因为,读者需要往回阅读或查找相关小说章节部分内容时,往往会重复翻页。而炫酷的翻页方式,这时会成为他们“细嚼慢咽”的阻碍,极大地降低其阅读热情和耐性。

所以,此类小说阅读APP正是本文所需实现的。

实践

Activity Layout

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="?attr/fullscreenBackgroundColor"
    android:theme="@style/ThemeOverlay.MyApp.FullscreenContainer"
    tools:context=".ReaderActivity">

    <FrameLayout
        android:id="@+id/nav_reader"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <WebView
            android:id="@+id/webView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scrollbars="vertical" />

        <ProgressBar
            android:id="@+id/progressBar"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="match_parent"
            android:layout_height="16dp"
            android:layout_gravity="bottom"
            android:alpha=".5"
            android:max="100"
            android:padding="0dp"
            android:progress="1" />
    </FrameLayout>

    <RelativeLayout
        android:id="@+id/nav_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:visibility="visible">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="52dp"
            android:layout_alignParentBottom="true"
            android:orientation="horizontal">

            <LinearLayout
                android:id="@+id/nav_home"
                android:layout_width="0dp"
                android:layout_height="52dp"
                android:layout_weight="1"
                android:gravity="center"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="24dp"
                    android:layout_height="24dp"
                    android:src="@drawable/ic_home_black_24dp" />

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值