pedrovgs / DraggablePanel

Android library used to create an awesome Android UI based on a draggable element similar to the last YouTube graphic component.
Apache License 2.0
2.99k stars 606 forks source link

DraggablePanel using resize transformer does not support landscape mode. #22

Open Amritpal33 opened 9 years ago

Amritpal33 commented 9 years ago

Hi, I am trying to show my DraggablePanel videoView in Landscape mode,but is not covering the even half the screen instead it just rotates the TopView with same dimensions.

Please look into the issue.

Amritpal33 commented 9 years ago

Hi Pedrovgs, I am using your library in one of the high scale commercial Application.

Could you please help me resolving how can i support both resizing and Landscape mode. Also the Bottom fragment gets overlapped to topFragment.

Your support will be highly appreciated.

Thanks.

pedrovgs commented 9 years ago

I can't right now because I'm working in other projects, sorry. Can you upload some screenshots with your problems. The VideoView problem in landscape is already know but I can't reproduce the other problem :S.

Fiddl3 commented 9 years ago

check my fork: https://github.com/Fiddl3/DraggablePanel/commit/c91dde454434a31f6e87a0794cd2212245c9bfa7

I tested the library in my application, but you need to test this yourself

if you target pre KitKat devices (API < 16) you need to handle window flags in activity

    @Override
    public void onConfigurationChanged(final Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN){
            if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
                getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
                getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
            } else {
                getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
            }
        }
    }
Amritpal33 commented 9 years ago

Hi Fiddl3, Thanks alot for your Fixes. i tried to run your branch and the secondview issue and resizing is working perfectly.

How Landscape mode changing is Throwing Number Format Exception.Here are the Logs:

11-30 18:03:39.196: E/AndroidRuntime(12005): java.lang.NumberFormatException: Invalid float: "" 11-30 18:03:39.196: E/AndroidRuntime(12005): at java.lang.StringToReal.invalidReal(StringToReal.java:63) 11-30 18:03:39.196: E/AndroidRuntime(12005): at java.lang.StringToReal.parseFloat(StringToReal.java:289) 11-30 18:03:39.196: E/AndroidRuntime(12005): at java.lang.Float.parseFloat(Float.java:300) 11-30 18:03:39.196: E/AndroidRuntime(12005): at android.content.res.TypedArray.getFloat(TypedArray.java:288) 11-30 18:03:39.196: E/AndroidRuntime(12005): at com.github.pedrovgs.DraggableView$1.onGlobalLayout(DraggableView.java:359) 11-30 18:03:39.196: E/AndroidRuntime(12005): at android.view.ViewTreeObserver.dispatchOnGlobalLayout(ViewTreeObserver.java:847)

Please check what could be done to fix this.

once Again Thanks alot.

Fiddl3 commented 9 years ago

You are using DraggablePanel or DraggableView in your layout?? I'll look in to it tomorrow, and test in sample app.

Amritpal33 commented 9 years ago

I am using Draggable Panel. i replace the value with hardcoded 2.0(random x scale factor and everything works fine.)

pedrovgs commented 9 years ago

@Fiddl3 are you going to send me a pull request?

Fiddl3 commented 9 years ago

Tomorrow I'll work on this... I'm going to remove part responsible for hiding status and nav bars, because it's depend on API level, ant can be confusing for developers.

Then I'll send pull request .

EDIT: I'll add xml attribute for auto fullscreen mode.

pedrovgs commented 9 years ago

Please, update your branch with develop to avoid conflicts ;)

Thanks!

pedrovgs commented 9 years ago

I've also fixed one issue related with the horizontal drag effect. Review this branch if you need it: https://github.com/pedrovgs/DraggablePanel/tree/fix-horizontal-drag-problems

I'm going to integrate it once the reporter of the issue tell me it's working as expected.

Fiddl3 commented 9 years ago

There will be one problem... In my version scaleFactor work differently. drag view is scaled to 1/scaleFactor of its original size. now only for scaleFactor=2 it match your calculations (In last commit I accidentally reverted changes in scaleTransformer).

This may be confusing for devs who use the library, but I think that this approach (for calculation) makes more sense (its more logical)

pedrovgs commented 9 years ago

Please, send me an email to pedrovicente.gomez@gmail.com with every detail to avoid retro compatibility problems and talk about this :)

I've also added one checkstyle configuration to the project and linked it to the travis CI build. Review this in your branch once be updated with development tip.

Thanks for your help!!!

Fiddl3 commented 9 years ago

No problem.

I'll email you, but not today. There was a "small" party last night and... I can't think straight right now.

Amritpal33 commented 9 years ago

Hi Fiddl3, I am constantly facing Number Format Exception while using DraggablePanel class in the following line:

float yScaleFactor = attributes.getFloat(R.styleable.draggable_view_top_view_y_scale_factor, DEFAULT_SCALE_FACTOR);

Here are the Logs:

12-01 11:48:40.502: E/AndroidRuntime(3621): java.lang.NumberFormatException: Invalid float: "48.0dip" 12-01 11:48:40.502: E/AndroidRuntime(3621): at java.lang.StringToReal.invalidReal(StringToReal.java:63) 12-01 11:48:40.502: E/AndroidRuntime(3621): at java.lang.StringToReal.parseFloat(StringToReal.java:310) 12-01 11:48:40.502: E/AndroidRuntime(3621): at java.lang.Float.parseFloat(Float.java:300) 12-01 11:48:40.502: E/AndroidRuntime(3621): at android.content.res.TypedArray.getFloat(TypedArray.java:288) 12-01 11:48:40.502: E/AndroidRuntime(3621): at com.github.pedrovgs.DraggableView$1.onGlobalLayout(DraggableView.java:363) 12-01 11:48:40.502: E/AndroidRuntime(3621): at android.view.ViewTreeObserver.dispatchOnGlobalLayout(ViewTreeObserver.java:815) 12-01 11:48:40.502: E/AndroidRuntime(3621): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1778) 12-01 11:48:40.502: E/AndroidRuntime(3621): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:996) 12-01 11:48:40.502: E/AndroidRuntime(3621): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5600) 12-01 11:48:40.502: E/AndroidRuntime(3621): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761) 12-01 11:48:40.502: E/AndroidRuntime(3621): at android.view.Choreographer.doCallbacks(Choreographer.java:574) 12-01 11:48:40.502: E/AndroidRuntime(3621): at android.view.Choreographer.doFrame(Choreographer.java:544) 12-01 11:48:40.502: E/AndroidRuntime(3621): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)

Please Let me Know how can i fix this.

Fiddl3 commented 9 years ago

draggable_view_top_view_y_scale_factor should be set as float value, not dimesion,

dangalg commented 9 years ago

I have fixed this in my branch but don't know how to share it with you

Fiddl3 commented 9 years ago

I'm working on fullscreen support for ResizeTransformer on this branch: https://github.com/Fiddl3/DraggablePanel/tree/LanscapeMode-feature. It's synchronized with develop, you can clone this branch and make your changes.

dangalg commented 9 years ago

I fixed the landscape problem... does anyone hear me?? Pedro?

pedrovgs commented 9 years ago

Hi @dangalg. If you have fixed the landscape problem, why don't you send me a pull request?

dangalg commented 9 years ago

I don't know how....

On Wed, Dec 10, 2014 at 3:15 PM, Pedro Vicente Gómez Sánchez < notifications@github.com> wrote:

Hi @dangalg https://github.com/dangalg. If you have fixed the landscape problem, why don't you send me a pull request?

— Reply to this email directly or view it on GitHub https://github.com/pedrovgs/DraggablePanel/issues/22#issuecomment-66449473 .

pedrovgs commented 9 years ago

Maybe you can start reading some articles about how github works http://readwrite.com/2013/09/30/understanding-github-a-journey-for-beginners-part-1

dangalg commented 9 years ago

I work with sourcetree and I am getting these errors when trying to create a pull request:

git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags --set-upstream origin dangal:master Pushing to https://dangalg@github.com/pedrovgs/DraggablePanel.git

remote: Permission to pedrovgs/DraggablePanel.git denied to dangalg. fatal: unable to access ' https://dangalg@github.com/pedrovgs/DraggablePanel.git/': The requested URL returned error: 403

Completed with errors, see above.

On Wed, Dec 10, 2014 at 3:19 PM, Pedro Vicente Gómez Sánchez < notifications@github.com> wrote:

Maybe you can start reading some articles about how github works http://readwrite.com/2013/09/30/understanding-github-a-journey-for-beginners-part-1

— Reply to this email directly or view it on GitHub https://github.com/pedrovgs/DraggablePanel/issues/22#issuecomment-66449952 .

pedrovgs commented 9 years ago

That's normal, you are trying to push to my repository and you don't have permissions to do that. Review some articles about github and how to use it. You have to fork my project and clone your fork, not this repo. Change your repository code and then send me a pull request.

dangalg commented 9 years ago

ok fine, maybe I'll join fiddles branch because he is working on it as well

On Wed, Dec 10, 2014 at 3:36 PM, Pedro Vicente Gómez Sánchez < notifications@github.com> wrote:

That's normal, you are trying to push to my repository and you don't have permissions to do that. Review some articles about github and how to use it. You have to fork my project and clone your fork, not this repo. Change your repository code and then send me a pull request.

— Reply to this email directly or view it on GitHub https://github.com/pedrovgs/DraggablePanel/issues/22#issuecomment-66451953 .

vuhung3990 commented 9 years ago

hello, i have same problem when landscape it show a half of width. now i can set top fragment width match_parent, do you want something like this?

dangalg commented 9 years ago

Its easy to fix.. בתאריך 18 בדצמ 2014 07:27, מאת "vuhung3990" notifications@github.com:

hello, i have same problem when landscape it show a half of width. now i can set top fragment width match_parent, do you want something like this?

— Reply to this email directly or view it on GitHub https://github.com/pedrovgs/DraggablePanel/issues/22#issuecomment-67442936 .

vuhung3990 commented 9 years ago

good job @dangalg , i spent much time to fix it

pedrovgs commented 9 years ago

Guys? How is this issue. Have you already fixed this? I'm waiting for your PR.

pedrovgs commented 9 years ago

@Fiddl3 are you working on this? What's the state of this feature?

Fiddl3 commented 9 years ago

Now I'm working on my engineering degree (Home automation project) and I don't have any time for this. I hope in second half of February this'll change.

pedrovgs commented 9 years ago

Ok! Good luck with your personal project!!!

ScottCooper92 commented 8 years ago

Hey @Fiddl3 did you ever get around to implementing this and sending a pull request?