rah*_*hah 8 android android-fragments android-viewpager snapchat
我试图实现ViewPager与DepthPageTransformer就像Snapchat应用.在SnapChat应用程序中,有一个始终位于中心的摄像头屏幕,ViewPager从左或右滑动会在摄像头屏幕上方显示其他碎片.
我DepthPageTransformer 从这个链接找到了代码.但是这个演示的问题在于它从后面带来了所有下一个屏幕视图.就像SnapChat一样,我在中央有一个摄像头屏幕,两个屏幕从左上方开始,两个屏幕从摄像头屏幕右上方显示.
那么,我怎么能创建一个PageTransformer从我的中心屏幕顶部左侧或右侧带来片段的相机?
我想你应该在你的FragmentPagerAdapter中提供5个片段,第三个(index = 2)片段将是带有摄像头视图的片段,
viewPager.setCurrentItem(2); //2 is index of camera fragment
Run Code Online (Sandbox Code Playgroud)
然后你ViewPager.PageTransformer应该看起来像这样:
@Override
public void transformPage(View page, float position) {
int pageIndex = (int) page.getTag(); //im stroing pageIndex of fragment in its tag
if(pageIndex == 2) { //2 is index of camera fragment
float currentTranslation = - position * page.getWidth();
ViewCompat.setTranslationX(page, currentTranslation);
ViewCompat.setTranslationZ(page, -1);
return;
}
Run Code Online (Sandbox Code Playgroud)
我正在stroing,pageIndex而片段的视图是在其标签中创建的.
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
...
view.setTag(pageIndex);
return view;
}
Run Code Online (Sandbox Code Playgroud)
这是带结果的gif:https: //media.giphy.com/media/OIwmXdr3nukq4/giphy.gif
食物片段是您应该用相机片段替换的片段.
| 归档时间: |
|
| 查看次数: |
939 次 |
| 最近记录: |