Android NurReaderView 閱讀器 (支援字串&.txt檔案)
阿新 • • 發佈:2020-11-12
NurReader
介紹
功能
支援字串和<.txt>檔案
可以設定反向 =》(也就是維吾爾語-哈扎克語-阿拉普語等語言一樣的從右到左的文字)
自帶的通用的控制器 =》字型大小&夜間模式&快速翻頁(用進度條)(可以自定義)
樣式可以自定義 =》背景顏色&字型大小&字型顏色&控制器的顏色等
效果:
軟體架構
閱讀器-它可以快速解釋字串(支援.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檔案的話不要忘記許可權。。。 return "Hello word!"; } @Override public String getTitle() { return "Title"; } }; nurReaderView.init(readerBuilder);
上面的話沒有控制器(字型大小等功能);如果想時間那些功能那你得使用readerBuilder
的setCntroller(NurController nurController)
方法。NurController
是一個抽象類,你可以繼承它實現自定義控制器,也可以使用預設控制器例如:
readerBuilder.setCntroller(new NurReaderController(this, new NurReaderController.OnClickIconListener() {
/**
* 點選返回按鈕
*/
@Override
public void onBackPress(View v) {
finish();
}
/**
* 點選收藏按鈕
*/
@Override
public void onCollectionPress(View v) {
}
}));
效果如下:
[圖片上傳失敗...(image-d17b42-1605095163921)]
引數
我們呼叫了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自動翻頁 |
想要更改樣式的話使用
NurController
的setTheme(NurReaderThemeData attribute)
方法
NurReaderThemeData.java
方法 | 註釋 |
---|---|
setBgColor(int bgColor) |
背景顏色 |
setTextSize(float textSize) |
字型大小 |
setTextColor(int textColor) |
字型顏色 |
setTypeface(Typeface typeface) |
字型/font |
setControllerColor(int controllerColor) |
控制器背景顏色 |
先到這兒把,有些方法呢你自己可以進去看。
可能存在有些BUG。如果你發現的話請你留個言我會改改的。。。