欢迎使用《NurReader阅读器》
我们公司要开发一块阅读类型的app。需要字符串(.txt文件)阅读器Gitee。效果图如下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dtofOXN5-1604911627011)(https://s31.aconvert.com/convert/p3r68-cdx67/lnibv-aow1r.gif#pic_center)]
功能
- 支持字符串和<.txt>文件
- 文字自动分各个页面
- 支持从右到左-(从右边开始的语言。比如维吾尔语哈扎克语。。。外国的阿拉伯语等)
- 支持自定义-toolbar-控制器等(自带了同意控制器)
- 样式-字体大小-夜间模-进度某页式等
可以自定义的-搜索了百度找不到一个好用的《阅读器组件。所以我直接开发了一个字符串阅读器》那我就不多说了直接干活儿。。。
引入:
- List item
使用:
- xml
<com.nurmemet.readbook.widget.NurReaderView
android:id="@+id/nurRaderView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
- java
NurReaderView nurReaderView = findViewById(R.id.nurRaderView);
ReaderBuilder readerBuilder = new ReaderBuilder(this) {
/*
* 阅读器的题目
*/
@Override
public String getData() {
return getString(R.string.test_zh);
}
/*
* 字符串-内容
*/
@Override
public String getTitle() {
return getString(R.string.test_title_zh);
}
};
//开始阅读
nurReaderView.init(readerBuilder);
简单的阅读器弄好了。可是你发现了没,上面的话没有控制器,也就是说它只负责“阅读”文字。那些《设置,夜间模式,字体大小》功能是控制器的工作 如果你想启动那些(字体大小,设置,进度某页)功能的话你就得调用把readerBuilder
的setCntroller()
方法,例如:
readerBuilder.setCntroller(new NurReaderController(this, new NurReaderController.NurControllerListener() {
@Override
public String getTitle() {
return readerBuilder.getTitle();
}
@Override
public void onTabClickListener(View view, int tag) {
switch (tag) {
case NurReaderController.TAB_TEXT_SIZE_VIEW:
Log.e("TAG", "onTabClickListener: TAB_TEXT_SIZE_VIEW");
break;
case NurReaderController.TAB_NIGHT_THEME_VIEW:
Log.e("TAG", "onTabClickListener: TAB_NIGHT_THEME_VIEW");
break;
case NurReaderController.TAB_SETTINGS_VIEW:
Log.e("TAG", "onTabClickListener: TAB_SETTINGS_VIEW");
break;
case NurReaderController.TAB_BACK_VIEW:
Log.e("TAG", "onTabClickListener: TAB_BACK_VIEW");
break;
case NurReaderController.TAB_COLLECTION_VIEW:
Log.e("TAG", "onTabClickListener: TAB_COLLECTION_VIEW");
break;
}
}
}));
注意!!!
调用了
nurReaderView.init();
方法之后再调用readerBuilder
类的任何方法都是无效的。。。
所以你先初始化ReaderBuilder
类,然后再调用nurReaderView.init();