我使用赛贝尔曲线制作电子书,现在进度到随意的翻卷,想要加入书签功能。
public class MainActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
BookLayout bk = new BookLayout(this);
List<String> str = new ArrayList<String>();
try {
//电子书地址
InputStream in = getResources().openRawResource(R.raw.b);
BufferedReader br = new BufferedReader(new InputStreamReader(in,"utf-8"));
String line=null;
String strs="";
while((line=br.readLine())!=null){
int len = line.length();
strs = strs+line;
if(strs.length()<1024&&strs.length()>500){
str.add(strs);
strs="";
}
}
in.close();
} catch (Exception e) {
e.printStackTrace();
}
BookAdapter ba = new BookAdapter(this);
ba.addItem(str);
bk.setPageAdapter(ba);
setContentView(bk);
}
书签功能可以在需要添加书签的时候,通过记录书签的位置信息(例如页数、滑动的位置等),在用户点击书签时跳转到对应的位置。
你可以在你的 BookAdapter 中添加一个方法来记录书签信息,然后在需要添加书签的时候调用这个方法。
例如,你可以添加一个 List 类型的成员变量来存储书签信息,然后在你的 BookAdapter 中添加一个 addBookmark(int page, int position) 方法用来记录书签信息。你可以在你的 MainActivity 中添加一个按钮用来添加书签,并在点击按钮时调用 addBookmark() 方法。
在你的 MainActivity 中,你还可以添加一个新的按钮用来显示书签列表,并在点击每个书签时跳转到对应的位置。你可以在 onCreate() 方法中添加一个点击事件监听器,在点击事件中调用 setCurrentPage() 方法来跳转到对应的位置。