NurReader
介紹
功能
支持字符串和<.txt>文件
可以設(shè)置反向 =》(也就是維吾爾語-哈扎克語-阿拉普語等語言一樣的從右到左的文字)
自帶的通用的控制器 =》字體大小&夜間模式&快速翻頁(用進(jìn)度條)(可以自定義)
樣式可以自定義 =》背景顏色&字體大小&字體顏色&控制器的顏色等
效果:
7YAMMU56Q8[}W]0}A`QZE5B.png
kces8-b4dat.gif
03df1-uztnz.gif
軟件架構(gòu)
閱讀器-它可以快速解釋字符串(支持.TXT文件)并把文字自動分各個頁面。
配置
- 項目的根目錄build.gradle配置
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
- 添加依賴項
dependencies {
....
implementation 'com.gitee.nurApplication:nur-reader:1.0.1'
}
使用說明
- xml
<com.nurmemet.readbook.widget.NurReaderView
android:id="@+id/nurReaderView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
- java
NurReaderView nurReaderView = findViewById(R.id.nurReaderView);
ReaderBuilder readerBuilder = new ReaderBuilder(this) {
@Override
public String getData() {
// FileUtils.readTxt(FileUtils.PATH + "test.txt");//讀取本地TXT文件
// 想要讀取本地txt文件的話不要忘記權(quán)限璧函。操禀。闯第。
return "Hello word!";
}
@Override
public String getTitle() {
return "Title";
}
};
nurReaderView.init(readerBuilder);
上面的話沒有控制器(字體大小等功能);如果想時間那些功能那你得使用readerBuilder
的setCntroller(NurController nurController)
方法涵但。NurController
是一個抽象類履腋,你可以繼承它實現(xiàn)自定義控制器,也可以使用默認(rèn)控制器例如:
readerBuilder.setCntroller(new NurReaderController(this, new NurReaderController.OnClickIconListener() {
/**
* 點擊返回按鈕
*/
@Override
public void onBackPress(View v) {
finish();
}
/**
* 點擊收藏按鈕
*/
@Override
public void onCollectionPress(View v) {
}
}));
效果如下:
[圖片上傳失敗...(image-d17b42-1605095163921)]
參數(shù)
我們調(diào)用了nurReaderView.init(ReaderBuilder builder)
方法后他就是開始工作檬贰。開始工作前它需要有些配置也就是ReaderBuilder
類:
ReaderBuilder.java
抽象類:
方法 | 注釋 |
---|---|
setLayoutManager(LinearLayoutManager layoutManager) |
默認(rèn)情況下HORIZONTAL的LinearLayoutManager |
setStackFromEnd(boolean value) |
布局反向 |
isStackFromEnd() |
是否布局反向 |
addOnChangeListener(OnChangeListener onChangeListener) |
監(jiān)聽翻頁 |
setController(NurController nurController) |
控制器 |
getData() |
數(shù)據(jù)內(nèi)容 |
getTitle() |
題目 |
想自定義實現(xiàn)控制器的話你可以繼承
NurController
類然后調(diào)用ReaderBuilder.setController(NurController nurController)
方法
NurController.java
抽象類:
方法 | 注釋 |
---|---|
getToolbar(ViewGroup group) |
Tollbar |
getController(ViewGroup group) |
控制器 |
main() |
初始化view后再被調(diào)用 |
getTitle() |
獲取title |
setTheme(NurReaderThemeData attribute) |
設(shè)置樣式 |
setCurrentPercent(int percent, int max) |
根據(jù)百分之X自動翻頁 |
想要更改樣式的話使用
NurController
的setTheme(NurReaderThemeData attribute)
方法
NurReaderThemeData.java
方法 | 注釋 |
---|---|
setBgColor(int bgColor) |
背景顏色 |
setTextSize(float textSize) |
字體大小 |
setTextColor(int textColor) |
字體顏色 |
setTypeface(Typeface typeface) |
字體/font |
setControllerColor(int controllerColor) |
控制器背景顏色 |
先到這兒把姑廉,有些方法呢你自己可以進(jìn)去看。
可能存在有些BUG翁涤。如果你發(fā)現(xiàn)的話請你留個言我會改改的桥言。。葵礼。
在這里插入圖片描述
在這里插入圖片描述