Signin/Signup with: 
Welcome, Guest
Username: Password: Remember me
Questions about Android development and PDF
  • Page:
  • 1

TOPIC:

Problem with refreshing page after move page 8 years 10 months ago #8983

  • barwoź
  • barwoź's Avatar Topic Author
  • Offline
  • New Member
  • New Member
  • Posts: 2
  • Thank you received: 0
Hello
I have problem with refreshing page after slide. It's refreshing only after tap screen.
I'm not using PDFLayoutView and i won't do this.
Is there any possibility to move page smothly ? without refreshing after next tap?
Best Regards,
Bartłomiej
public class PDFReader extends View implements PDFViewVert.PDFViewListener
{
	private ReadPDFActivity m_Padre;
	private PDFDoc m_Widok = null;
	private int m_Styl = -1;
	private boolean m_ZablokujWielkosc = false;
	private boolean m_ZablokujPozycje=false;
	private int m_Szerokosc = 0;
	private int m_Wysokosc = 0;
	private int m_IndexStrony = 0;
	private PaintView m_PaintView;
	
	public PDFReader(Context context)
	{
		super(context);
		
	}
	public PDFReader(Context context, AttributeSet attrs)
	{
		super(context, attrs);
	}
	public void ustawActivity(ReadPDFActivity _Act)
	{
		m_Padre=_Act;
	}
	public void ustawPaintView(PaintView _Paint)
	{
		m_PaintView=_Paint;
	}
	 
	public void ustawStylWidoku()
	{
		///PDFPos _Pozycja = null;
		Document _Dokument = null;
		
		if( m_Widok != null )
		{
			_Dokument = m_Widok.viewGetDoc();
			//_Pozycja = m_Widok.vgetP
			m_Widok.vClose();
		}

		m_Widok = new PDFDoc(m_Padre);
		
		
		if( m_Widok != null )
		{
			if( _Dokument != null ) 
				m_Widok.vOpen( _Dokument,3, getContext().getResources().getColor(R.color.tlo_reader),this);
			
			m_Widok.vResize(getWidth(), getHeight());/*
			if( _Pozycja != null ) 
				m_Widok.vGotoPage(_Pozycja);*/
		}

	}
	
	
	/*
	public void ustawStylWidoku( int _Styl )
	{
		if( _Styl == m_Styl )
			return;
		PDFPosition _Pozycja = null;
		PDFAnnotListener annot_listener = null;
		PDFViewListener view_listener = null;
		Document _Dokument = null;
		if( m_Widok != null )
		{
			_Dokument = m_Widok.viewGetDoc();
			annot_listener = m_Widok.viewGetAnnotListener();
			view_listener = m_Widok.viewGetViewListener();
			_Pozycja = m_Widok.viewGetPos();
			m_Widok.viewClose();
		}
	
		switch( _Styl )
		{
		case 1:
			m_Widok = new PDFViewHorz();
			break;
		case 2:
			m_Widok = new PDFViewScroll();
			break;
		case 3:
			m_Widok = new PDFViewSingle();
			break;
		case 4:
			m_Widok = new PDFViewSingleEx();
			break;
		case 5:
			m_Widok = new PDFViewReflow();
			break;
		case 6:
			m_Widok = new PDFViewDual(true);
			break;
		default:
			m_Widok = new PDFViewVert();
			break;
		}
		if( m_Widok != null )
		{
			if( _Dokument != null ) 
				m_Widok.viewOpen(getContext(), _Dokument, 0xFFdbf3dc, 4);
			
			m_Widok.viewSetAnnotListener( annot_listener );
			m_Widok.viewSetViewListener( view_listener );
			m_Widok.viewResize(getWidth(), getHeight());
			if( _Pozycja != null ) 
				m_Widok.viewGoto(_Pozycja);
		}
		
	}*/
	protected void onConfigurationChanged(Configuration newConfig)
	{
		super.onConfigurationChanged(newConfig);

	}
	
	public PDFDoc zwrocWidok()
	{
		return m_Widok;
	}
	
	
	public void otworz( Document doc )
	{
		ustawStylWidoku();
		//ustawStylWidoku( Global.def_view );
		if( m_Widok != null )
			m_Widok.vOpen(doc, 4,getContext().getResources().getColor(R.color.tlo_reader), this);
		
	}
	public void zamknij()
	{
		if( m_Widok != null )
			m_Widok.vClose();
		m_Widok = null;
	}
	protected void onSizeChanged (int w, int h, int oldw, int oldh)
	{
		m_Szerokosc = w;
		m_Wysokosc = h;
		if( m_Widok != null && !m_ZablokujWielkosc )
			m_Widok.vResize(w, h);
	}
	protected void onDraw( Canvas canvas )
	{
		if( m_Widok != null )
		{
			m_Widok.vDraw(canvas);
		}
	}
	private float xSelStart = 0;
	private float ySelStart = 0;
	public boolean onTouchEvent (MotionEvent event)
	{
		
		/*if (event.getActionMasked()==MotionEvent.ACTION_DOWN)
		{
			xSelStart=  event.getX();
			ySelStart=  event.getY();
		}
		if (event.getActionMasked()==MotionEvent.ACTION_MOVE)
		{
			float x= event.getX();
			float y= event.getY();
			m_Widok.vSetSel(xSelStart, ySelStart, x, y);
		}
		if (event.getActionMasked()==MotionEvent.ACTION_UP || event.getActionMasked()==MotionEvent.ACTION_CANCEL)
		{
			float x= event.getX();
			float y= event.getY();
			m_Widok.vSetSel(xSelStart, ySelStart, x, y);
			m_Widok.annotSetMarkup(0);
			m_Widok.annotEnd();
		}
		return true;*/
	
		if( m_Widok != null && !m_ZablokujPozycje)
		{

			
			return m_Widok.vTouchEvent(event);
		}
		else
			return true;
	}
	/*
	 * TODO
	 * public void setAnnotListener( PDFView.PDFAnnotListener listener )
	{
		if( m_Widok != null )
			m_Widok.viewSetAnnotListener(listener);
	}*/
	public void setViewListener( PDFView.PDFViewListener listener )
	{
		/*
		 * TODO
		 * if( m_Widok != null )
			m_Widok.viewSetViewListener(listener);*/
	}
	/*public String annotGetText()
	{
		if( m_Widok != null )
			return m_Widok.annotGetText();
		else
			return null;
	}*/
	/*public String annotGetSubject()
	{
		if( m_Widok != null )
			return m_Widok.annotGetSubject();
		else
			return null;
	}
	public boolean annotSetText(String txt)
	{
		if( m_Widok != null )
			return m_Widok.annotSetText(txt);
		else
			return false;
	}
	public boolean annotSetEditText(String txt)
	{
		if( m_Widok != null )
			return m_Widok.annotSetEditText(txt);
		else
			return false;
	}
	public boolean annotSetChoice(int item)
	{
		if( m_Widok != null )
			return m_Widok.annotSetChoice(item);
		else
			return false;
	}
	public boolean annotSetSubject(String subj)
	{
		if( m_Widok != null )
			return m_Widok.annotSetSubject(subj);
		else
			return false;
	}
	public void annotInk()
	{
		if( m_Widok != null )
			m_Widok.annotInk();
	}
	public void annotRect()
	{
		if( m_Widok != null )
			m_Widok.annotRect();
	}
	public void annotPerform()
	{
		if( m_Widok != null )
			m_Widok.annotPerform();
	}
	public void annotEnd()
	{
		if( m_Widok != null )
			m_Widok.annotEnd();
	}
	public void annotRemove()
	{
		if( m_Widok != null )
			m_Widok.annotRemove();
	}*/
	public void znajdz(int dir)
	{
		if( m_Widok != null )
			m_Widok.vFind(dir);
	}
	public void znajdz(String str, boolean match_case, boolean whole_word)
	{
	
		if( m_Widok != null )
			m_Widok.vFindStart(str, match_case, whole_word);
		

	}
	
	
	
	public void idzDoStrony(int _Index)
	{
		m_Widok.vGotoPage(_Index);
	}
	
	
	
	
	@Override
	public void invalidate(Rect dirty) {
		super.invalidate(dirty);
		if( m_Widok != null )
			invalidate();
	}
	

	
	
	@Override
	public void OnPDFPageChanged(int pageno) {

		m_IndexStrony = pageno;
		m_Padre.zmienilSieNumerStrony(pageno);
	}
	
	@Override
	public boolean OnPDFSingleTapped(float x, float y) {
		invalidate();
		//m_Padre.kliknietoStrone(x,y);
		
		return false;
	}
	
	@Override
	public void OnPDFPageDisplayed(Canvas arg0, PDFVPage arg1) {

		m_PaintView.stronaZmienilaSie(arg1);
		
	}
	
	public void onHold()
	{
	}
	public void onPressDown()
	{
	}
	public void onPressUp()
	{
	}
	public void onClickPage(int pageno)
	{
		m_Widok.vGotoPage(pageno);
		invalidate();
	}

	public void lockResize(boolean lock)
	{
		if( m_ZablokujWielkosc == lock ) return;
		m_ZablokujWielkosc = lock;
		if( lock )
		{
			m_Szerokosc = getWidth();
			m_Wysokosc = getHeight();
		}
		else
		{
			m_Widok.vResize(m_Szerokosc, m_Wysokosc);
		}
	}
	public int zwrocNumerStronyAktualnej()
	{
		
		return m_IndexStrony;
	}
	public void ustawBlokadePozycji(boolean _Blokada)
	{
		m_ZablokujPozycje=_Blokada;
		
	}
	@Override
	public boolean OnPDFDoubleTapped(float arg0, float arg1) {
		// TODO Auto-generated method stub
		return false;
	}
	@Override
	public void OnPDFFound(boolean arg0) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void OnPDFInvalidate(boolean arg0) {
		// TODO Auto-generated method stub

		invalidate();
	}
	@Override
	public void OnPDFLongPressed(float arg0, float arg1) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void OnPDFSelectEnd() {
		// TODO Auto-generated method stub

		invalidate();
	}
	@Override
	public void OnPDFSelecting(Canvas arg0, int[] arg1, int[] arg2) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void OnPDFShowPressed(float arg0, float arg1) {
		// TODO Auto-generated method stub
		
	}
	
	
}
The topic has been locked.

Problem with refreshing page after move page 8 years 10 months ago #8992

  • Davide
  • Davide's Avatar
  • Offline
  • User is blocked
  • User is blocked
  • Posts: 814
  • Thank you received: 65
Hi,
try to add
invalidate();
in your OnPDFPageChanged method.
The topic has been locked.
  • Page:
  • 1
Powered by Kunena Forum