Vertical ViewPager with fragments
I want to show 3 fragments below each other. So far I've used many solutions such as YViewPager and answers such as Android: Vertical ViewPager. The main problem with them is non of them working the way I want. I need to show a first fragment and below that, some part of the second one, and when user scrolled to next one, showing second fragment and some part of third one.
The YViewPager
was great until I added these lines to show some part of second fragment:
viewPager.setClipToPadding(false);
viewPager.setCurrentItem(1);
viewPager.setPadding(0,0,0,500);
After that, it became like this:
With that white space that came out of nowhere.
And as for other libraries and hacks which told me to swap motion event:
private MotionEvent swapXY(MotionEvent event) {
float width = getWidth();
float height = getHeight();
float newX = (event.getY() / height) * width;
float newY = (event.getX() / width) * height;
event.setLocation(newX, newY);
return event;
}
And also rewrite the PageTransformer
.
Here everything was good until I wanted to go from second fragment to the first one. It wanted to set the alpha to 0 to begin the transformation but this creates some sudden disappearance for the third fragment like this:
Well, here is my question:
Is there anyway to achieve this kind of view without these problems?
Do you suggest some other approaches?
Thank you in advance.
android android-fragments android-viewpager
add a comment |
I want to show 3 fragments below each other. So far I've used many solutions such as YViewPager and answers such as Android: Vertical ViewPager. The main problem with them is non of them working the way I want. I need to show a first fragment and below that, some part of the second one, and when user scrolled to next one, showing second fragment and some part of third one.
The YViewPager
was great until I added these lines to show some part of second fragment:
viewPager.setClipToPadding(false);
viewPager.setCurrentItem(1);
viewPager.setPadding(0,0,0,500);
After that, it became like this:
With that white space that came out of nowhere.
And as for other libraries and hacks which told me to swap motion event:
private MotionEvent swapXY(MotionEvent event) {
float width = getWidth();
float height = getHeight();
float newX = (event.getY() / height) * width;
float newY = (event.getX() / width) * height;
event.setLocation(newX, newY);
return event;
}
And also rewrite the PageTransformer
.
Here everything was good until I wanted to go from second fragment to the first one. It wanted to set the alpha to 0 to begin the transformation but this creates some sudden disappearance for the third fragment like this:
Well, here is my question:
Is there anyway to achieve this kind of view without these problems?
Do you suggest some other approaches?
Thank you in advance.
android android-fragments android-viewpager
add a comment |
I want to show 3 fragments below each other. So far I've used many solutions such as YViewPager and answers such as Android: Vertical ViewPager. The main problem with them is non of them working the way I want. I need to show a first fragment and below that, some part of the second one, and when user scrolled to next one, showing second fragment and some part of third one.
The YViewPager
was great until I added these lines to show some part of second fragment:
viewPager.setClipToPadding(false);
viewPager.setCurrentItem(1);
viewPager.setPadding(0,0,0,500);
After that, it became like this:
With that white space that came out of nowhere.
And as for other libraries and hacks which told me to swap motion event:
private MotionEvent swapXY(MotionEvent event) {
float width = getWidth();
float height = getHeight();
float newX = (event.getY() / height) * width;
float newY = (event.getX() / width) * height;
event.setLocation(newX, newY);
return event;
}
And also rewrite the PageTransformer
.
Here everything was good until I wanted to go from second fragment to the first one. It wanted to set the alpha to 0 to begin the transformation but this creates some sudden disappearance for the third fragment like this:
Well, here is my question:
Is there anyway to achieve this kind of view without these problems?
Do you suggest some other approaches?
Thank you in advance.
android android-fragments android-viewpager
I want to show 3 fragments below each other. So far I've used many solutions such as YViewPager and answers such as Android: Vertical ViewPager. The main problem with them is non of them working the way I want. I need to show a first fragment and below that, some part of the second one, and when user scrolled to next one, showing second fragment and some part of third one.
The YViewPager
was great until I added these lines to show some part of second fragment:
viewPager.setClipToPadding(false);
viewPager.setCurrentItem(1);
viewPager.setPadding(0,0,0,500);
After that, it became like this:
With that white space that came out of nowhere.
And as for other libraries and hacks which told me to swap motion event:
private MotionEvent swapXY(MotionEvent event) {
float width = getWidth();
float height = getHeight();
float newX = (event.getY() / height) * width;
float newY = (event.getX() / width) * height;
event.setLocation(newX, newY);
return event;
}
And also rewrite the PageTransformer
.
Here everything was good until I wanted to go from second fragment to the first one. It wanted to set the alpha to 0 to begin the transformation but this creates some sudden disappearance for the third fragment like this:
Well, here is my question:
Is there anyway to achieve this kind of view without these problems?
Do you suggest some other approaches?
Thank you in advance.
android android-fragments android-viewpager
android android-fragments android-viewpager
asked Dec 27 at 13:08
Mohammad Zarei
1,114623
1,114623
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
I think you can achieve the described behavior much easier using RecyclerView and SnapHelper. Here is a link where you can find some explanation with some sources https://rubensousa.github.io/2016/08/recyclerviewsnap
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53945621%2fvertical-viewpager-with-fragments%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I think you can achieve the described behavior much easier using RecyclerView and SnapHelper. Here is a link where you can find some explanation with some sources https://rubensousa.github.io/2016/08/recyclerviewsnap
add a comment |
I think you can achieve the described behavior much easier using RecyclerView and SnapHelper. Here is a link where you can find some explanation with some sources https://rubensousa.github.io/2016/08/recyclerviewsnap
add a comment |
I think you can achieve the described behavior much easier using RecyclerView and SnapHelper. Here is a link where you can find some explanation with some sources https://rubensousa.github.io/2016/08/recyclerviewsnap
I think you can achieve the described behavior much easier using RecyclerView and SnapHelper. Here is a link where you can find some explanation with some sources https://rubensousa.github.io/2016/08/recyclerviewsnap
answered 2 days ago
Mondok Tamas
31137
31137
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53945621%2fvertical-viewpager-with-fragments%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown