0
我正在使用barteksc-AndroidPdfViewer。我正在使用此代码当我更改页面方向时,它出现在页面的开头
package com.epubtest.hxfy.epubtest;
import android.content.Context;
import android.content.SharedPreferences;
import android.graphics.Canvas;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import com.github.barteksc.pdfviewer.PDFView;
import com.github.barteksc.pdfviewer.listener.OnDrawListener;
import com.github.barteksc.pdfviewer.listener.OnErrorListener;
import com.github.barteksc.pdfviewer.listener.OnLoadCompleteListener;
import com.github.barteksc.pdfviewer.listener.OnPageChangeListener;
import com.github.barteksc.pdfviewer.listener.OnPageScrollListener;
public class PDFReaderActivity2 extends AppCompatActivity implements OnPageChangeListener, OnLoadCompleteListener, OnDrawListener, OnErrorListener, OnPageScrollListener {
private PDFView pdfview;
private SharedPreferences pdfReader;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pdfreader2);
pdfReader = this.getSharedPreferences("PDFReader", Context.MODE_PRIVATE);
pdfview = (PDFView) findViewById(R.id.pdfView);
pdfview.fromAsset("test4.pdf")
.defaultPage(pdfReader.getInt("pages",0))
.onPageChange(this)
.swipeHorizontal(false)
.enableAnnotationRendering(true)
.scrollHandle(null)
.onLoad(this)
.onDraw(this)
.enableSwipe(true)
.onError(this)
.enableDoubletap(true)
.onPageScroll(this)
.load();
}
@Override
public void onPageChanged(int page, int pageCount) {
SharedPreferences.Editor edit = pdfReader.edit();
edit.putInt("pages",page);
edit.commit();
}
@Override
public void loadComplete(int nbPages) {
}
@Override
public void onLayerDrawn(Canvas canvas, float pageWidth, float pageHeight, int displayedPage) {
}
@Override
public void onError(Throwable t) {
}
@Override
public void onPageScrolled(int page, float positionOffset) {
}
}
更改页面的方向。但是,如果我必须假设纵向模式和页码15在页面方向改变时我们开始了横向页面。
SharedPreferences
不工作。它无法保持我们所在的最后一页的记录。请在这方面帮助我,请帮助我。
所有感谢您的回复中@JavedKhan首先,'机器人:configChanges =“方向|屏幕尺寸”'工作正常,但它不能'pdfView.fitToWidth();'如果可能的话,请把这个方法在上面的代码这对我来说很容易实现。 –
这个库已经有这个实现的方法。无论如何,我会将此添加到我的答案中。 @AhmerAfzal – JavadKhan
亲爱的我已经使用这个方法'pdfView.fitToWidth();'适合宽度,但是当我使用'android:configChanges =“orientation | screenSize”'它不能实现'pdfView.fitToWidth();' @JavedKhan –