Android NurReaderView 阅读器 (支持字符串&.txt文件)

NurReader

介绍

功能

支持字符串和<.txt>文件
可以设置反向 =》(也就是维吾尔语-哈扎克语-阿拉普语等语言一样的从右到左的文字)
自带的通用的控制器 =》字体大小&夜间模式&快速翻页(用进度条)(可以自定义)
样式可以自定义 =》背景颜色&字体大小&字体颜色&控制器的颜色等

效果:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

软件架构

阅读器-它可以快速解释字符串(支持.TXT文件)并把文字自动分各个页面。

配置
  1. 项目的根目录build.gradle配置
	allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}
  1. 添加依赖项
	dependencies {
			....
	        implementation 'com.gitee.nurApplication:nur-reader:1.0.0'
	}
使用说明
  1. xml
    <com.nurmemet.readbook.widget.NurReaderView
        android:id="@+id/nurReaderView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
  1. java
        NurReaderView nurReaderView = findViewById(R.id.nurReaderView);

        ReaderBuilder readerBuilder = new ReaderBuilder(this) {
            @Override
            public String getData() {
//                FileUtils.readTxt(FileUtils.PATH + "test.txt");//读取本地TXT文件
// 				  想要读取本地txt文件的话不要忘记权限。。。
                return "Hello word!";
            }

            @Override
            public String getTitle() {
                return "Title";
            }
        };
        nurReaderView.init(readerBuilder);

上面的话没有控制器(字体大小等功能);如果想时间那些功能那你得使用readerBuildersetCntroller(NurController nurController)方法。NurController是一个抽象类,你可以继承它实现自定义控制器,也可以使用默认控制器例如:

        readerBuilder.setCntroller(new NurReaderController(this, new NurReaderController.OnClickIconListener() {
            /**
             * 点击返回按钮
             */
            @Override
            public void onBackPress(View v) {
                finish();
            }

            /**
             * 点击收藏按钮
             */
            @Override
            public void onCollectionPress(View v) {
            }
        }));

效果如下:
在这里插入图片描述

参数

我们调用了nurReaderView.init(ReaderBuilder builder)方法后他就是开始工作。开始工作前它需要有些配置也就是ReaderBuilder类:

ReaderBuilder.java抽象类:
方法注释
setLayoutManager(LinearLayoutManager layoutManager)默认情况下HORIZONTAL的LinearLayoutManager
setStackFromEnd(boolean value)布局反向
isStackFromEnd()是否布局反向
addOnChangeListener(OnChangeListener onChangeListener)监听翻页
setController(NurController nurController)控制器
getData()数据内容
getTitle()题目

想自定义实现控制器的话你可以继承NurController类然后调用ReaderBuilder.setController(NurController nurController)方法

NurController.java抽象类:
方法注释
getToolbar(ViewGroup group)Tollbar
getController(ViewGroup group)控制器
main()初始化view后再被调用
getTitle()获取title
setTheme(NurReaderThemeData attribute)设置样式
setCurrentPercent(int percent, int max)根据百分之X自动翻页

想要更改样式的话使用NurControllersetTheme(NurReaderThemeData attribute)方法

NurReaderThemeData.java
方法注释
setBgColor(int bgColor)背景颜色
setTextSize(float textSize)字体大小
setTextColor(int textColor)字体颜色
setTypeface(Typeface typeface)字体/font
setControllerColor(int controllerColor)控制器背景颜色

先到这儿把,有些方法呢你自己可以进去看。

可能存在有些BUG。如果你发现的话请你留个言我会改改的。。。

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值