- Posts: 100
- Thank you received: 0
Microsoft Windows Phone 8.1 support ends (13 Jul 2017)
Microsoft has ended support for Windows Phone 8.1
Questions about Android development and PDF
handle zoomlevel in landscap mode
- asliyanage
- Topic Author
- Offline
- Premium Member
-
Less
More
IP: 192.168.0.71
11 years 3 months ago #8085
by asliyanage
handle zoomlevel in landscap mode was created by asliyanage
I tried with zoomlevel =8.its working for portrait.But when i use landscape mode it gives me blank screen when i try to zooming continuously. sometime i am getting below exception
12-11 09:38:39.413: E/AndroidRuntime(23134): FATAL EXCEPTION: main
12-11 09:38:39.413: E/AndroidRuntime(23134): Process: com.example.wtest, PID: 23134
12-11 09:38:39.413: E/AndroidRuntime(23134): java.lang.IllegalArgumentException: pointerIndex out of range
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.MotionEvent.nativeGetAxisValue(Native Method)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.MotionEvent.getX(MotionEvent.java:2225)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.support.v4.view.MotionEventCompatEclair.getX(MotionEventCompatEclair.java:32)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.support.v4.view.MotionEventCompat$EclairMotionEventVersionImpl.getX(MotionEventCompat.java:91)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.support.v4.view.MotionEventCompat.getX(MotionEventCompat.java:219)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.support.v4.view.ViewPager.onInterceptTouchEvent(ViewPager.java:1839)
12-11 09:38:39.413: E/AndroidRuntime(23134): at com.sph.custom.ViewPagerWithTapGestreDetection.onInterceptTouchEvent(ViewPagerWithTapGestreDetection.java:126)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2107)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2477)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2209)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2477)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2209)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2477)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2209)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2477)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2209)
12-11 09:38:39.413: E/AndroidRuntime(23134): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2332)
12-11 09:38:39.413: E/AndroidRuntime(23134): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1616)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.app.Activity.dispatchTouchEvent(Activity.java:2665)
12-11 09:38:39.413: E/AndroidRuntime(23134): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2280)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.View.dispatchPointerEvent(View.java:8489)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4890)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4741)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4295)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4349)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4318)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4429)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4326)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4486)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4295)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4349)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4318)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4326)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4295)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6705)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6584)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6555)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6520)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6785)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:176)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:6758)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:6804)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:813)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.Choreographer.doCallbacks(Choreographer.java:613)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.Choreographer.doFrame(Choreographer.java:581)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:799)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.os.Handler.handleCallback(Handler.java:733)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.os.Handler.dispatchMessage(Handler.java:95)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.os.Looper.loop(Looper.java:146)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.app.Ac
12-11 09:38:39.413: E/AndroidRuntime(23134): FATAL EXCEPTION: main
12-11 09:38:39.413: E/AndroidRuntime(23134): Process: com.example.wtest, PID: 23134
12-11 09:38:39.413: E/AndroidRuntime(23134): java.lang.IllegalArgumentException: pointerIndex out of range
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.MotionEvent.nativeGetAxisValue(Native Method)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.MotionEvent.getX(MotionEvent.java:2225)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.support.v4.view.MotionEventCompatEclair.getX(MotionEventCompatEclair.java:32)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.support.v4.view.MotionEventCompat$EclairMotionEventVersionImpl.getX(MotionEventCompat.java:91)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.support.v4.view.MotionEventCompat.getX(MotionEventCompat.java:219)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.support.v4.view.ViewPager.onInterceptTouchEvent(ViewPager.java:1839)
12-11 09:38:39.413: E/AndroidRuntime(23134): at com.sph.custom.ViewPagerWithTapGestreDetection.onInterceptTouchEvent(ViewPagerWithTapGestreDetection.java:126)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2107)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2477)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2209)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2477)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2209)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2477)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2209)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2477)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2209)
12-11 09:38:39.413: E/AndroidRuntime(23134): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2332)
12-11 09:38:39.413: E/AndroidRuntime(23134): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1616)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.app.Activity.dispatchTouchEvent(Activity.java:2665)
12-11 09:38:39.413: E/AndroidRuntime(23134): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2280)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.View.dispatchPointerEvent(View.java:8489)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4890)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4741)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4295)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4349)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4318)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4429)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4326)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4486)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4295)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4349)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4318)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4326)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4295)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6705)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6584)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6555)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6520)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6785)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:176)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:6758)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:6804)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:813)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.Choreographer.doCallbacks(Choreographer.java:613)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.Choreographer.doFrame(Choreographer.java:581)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:799)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.os.Handler.handleCallback(Handler.java:733)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.os.Handler.dispatchMessage(Handler.java:95)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.os.Looper.loop(Looper.java:146)
12-11 09:38:39.413: E/AndroidRuntime(23134): at android.app.Ac
IP: 192.168.0.71
11 years 3 months ago - 11 years 3 months ago #8087
by radaee
Replied by radaee on topic handle zoomlevel in landscap mode
PDFReader class fit for small zoom level(3x or 4x based screen size),
because it render whole page in 1 Bitmap objects.
large zoom value takes more memories cost. this may take lack of memories.
for large zoom level, plz using PDFLayoutView, this view render a page in many small Bitmap objects.
and not render bitmaps, out of screen area.
but, this class is not finished all features, because of much works need to do.
because it render whole page in 1 Bitmap objects.
large zoom value takes more memories cost. this may take lack of memories.
for large zoom level, plz using PDFLayoutView, this view render a page in many small Bitmap objects.
and not render bitmaps, out of screen area.
but, this class is not finished all features, because of much works need to do.
Last edit: 11 years 3 months ago by .
- asliyanage
- Topic Author
- Offline
- Premium Member
-
Less
More
- Posts: 100
- Thank you received: 0
IP: 192.168.0.71
11 years 3 months ago #8104
by asliyanage
Replied by asliyanage on topic handle zoomlevel in landscap mode
Hi Radaee,
Could you please let me know how to stop zooming problematically ?This should be able as if i used 5 as a maximum zoom Level it doesn't zoom after some extent.So i need to apply that to when i am using zoom Level 8?
Could you please let me know how to stop zooming problematically ?This should be able as if i used 5 as a maximum zoom Level it doesn't zoom after some extent.So i need to apply that to when i am using zoom Level 8?
IP: 192.168.0.71
11 years 3 months ago - 11 years 3 months ago #8106
by radaee
Replied by radaee on topic handle zoomlevel in landscap mode
in PDFReader, you can replace these code for onSizeChanged
Code:
@Override
protected void onSizeChanged( int w, int h, int oldw, int oldh )
{
super.onSizeChanged(w,h,oldw,oldh);
if( w > h ) Global.zoomLevel = 5;
else Global.zoomLevel = 8;
if( m_view == null || m_status == STA_ANNOT ) return;
if( w <= 0 || h <= 0 )
{
w = getWidth();
h = getHeight();
}
PDFPos pos = m_view.vGetPos(w/2, h/2);
m_view.vResize(w, h);
m_view.vSetScale(0, 0, 0);//fit page while resizing.
if( m_goto_pageno >= 0 )
{
m_view.vGotoPage(m_goto_pageno);
m_goto_pageno = -1;
}
else if( pos != null )
{
m_view.vSetPos(pos, w/2, h/2);
//m_view.vCenterPage(pos.pageno);
}
if( m_scale >= 0 )
{
m_view.vSetScale(m_scale, 0, 0);
m_scale = -1;
}
}
Last edit: 11 years 3 months ago by .
- asliyanage
- Topic Author
- Offline
- Premium Member
-
Less
More
- Posts: 100
- Thank you received: 0
IP: 192.168.0.71
11 years 2 months ago #8148
by asliyanage
Replied by asliyanage on topic handle zoomlevel in landscap mode
Thanks Radaee.This seems fine.But still i am getting blank screen when i try to zooming continously in Landscape mode.So i need to stop zooming after pdf comes to some zoomed level.As a example i need to stop zooming after
m_view.vGetScale()=10f.Could you please let me know how to do this ?
I tried with this in onSizeChanged methos,but seems not working yet.
m_view.vGetScale()=10f.Could you please let me know how to do this ?
I tried with this in onSizeChanged methos,but seems not working yet.
- asliyanage
- Topic Author
- Offline
- Premium Member
-
Less
More
- Posts: 100
- Thank you received: 0
IP: 192.168.0.71
11 years 2 months ago #8151
by asliyanage
Replied by asliyanage on topic handle zoomlevel in landscap mode
Hi Radaee,
Could you please give me an answer for this issue
Could you please give me an answer for this issue
Time to create page: 0.460 seconds