How to implement customized stack view in android?

旧街凉风 提交于 2019-11-28 17:14:32

问题


I have searched the internet but I couldn't find some good explanation or advice. Basically, I want to implement this functionality.

on slide down

I used the StackView class and all I get is this "diagonal" stack

I want views to be one behind another, as in the pictures above.

Similar question is asked here -> Android customize stackview, but I couldn't find any satisfying answers.

I have read the code for StackView as suggested, but honestly, I don't know how would I customize it to get what I want. When I change the value of PERSPECTIVE_SHIFT_FACTOR_X or PERSPECTIVE_SHIFT_FACTOR_Y nothing changes and I get the same "diagonal view". Am I missing something?

Thanks in advance for the answers.


回答1:


Feel free to use my library available here.

It does exactly what you want and is based on the ViewPager so you can use it with just a typical PagerAdapter of your choice.




回答2:


You can't change the original PERSPECTIVE_SHIFT_FACTOR_X because it's a private field.

StackView uses many classes which have package visibility and are only usable in package android.widget.

Furthermore some of those classes are pre-compiled and the source is nowhere to be found, so you can't just copy-paste them and create your own custom StackView from zero.

You can make the views appear in a column by overriding onLayout, but once you animate them, their positions are changed back to the default. Sadly the view animations are done in private methods of StackView so nothing you can do about that either.

You're better of creating your own class that does this, and you can reference the code used in the StackView source. Creating such a class could be a lot of work and it's definitely not in the scope of a single question.



来源:https://stackoverflow.com/questions/28098168/how-to-implement-customized-stack-view-in-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!