如何使用可滑动选项卡实现PageTransformer [英] How to Implement PageTransformer with Swipeable Tabs
问题描述
在我的示例代码中,MainActivity.java中有三个可滑动选项卡,分别是:Android,IOS和WINDOWS,并且我正在使用滑动来在选项卡之间进行切换.
In my example code i have three Swipeable Tabs in MainActivity.java namely : Android, IOS and WINDOWS and i am using swipe to switch between Tabs.
现在,我必须使用可滑动选项卡实现PageTransformer,所以在这里我需要您的帮助,是否可以,如果可以,怎么办?
Now, i have to implement PageTransformer with Swipeable Tabs, so here i need your help, is it possible, if yes so how ?
MainActivity.java:-
public class MainActivity extends FragmentActivity {
ViewPager Tab;
TabPagerAdapter TabAdapter;
ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TabAdapter = new TabPagerAdapter(getSupportFragmentManager());
Tab = (ViewPager)findViewById(R.id.pager);
Tab.setOnPageChangeListener(
new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
actionBar = getActionBar();
actionBar.setSelectedNavigationItem(position);
}
});
Tab.setAdapter(TabAdapter);
..............
}
}
这是我要在程序中实现的内容:
Here is what i want to implement in my program :
这是我的标签页的外观:
and this is how my Tab looks :
推荐答案
I found my solution here, its really easy to implement
用法非常简单,只需将PageTransformer附加到ViewPager:
Usage is pretty straightforward, just attach a PageTransformer to the ViewPager:
viewpager.setPageTransformer(false, new ViewPager.PageTransformer() {
@Override
public void transformPage(View page, float position) {
// do transformation here
}
});
将页面绕其Z轴旋转30度;您无需为此标准化.效果类似于封面流程UI模式:
rotates the pages around their Z axis by 30 degrees; you don’t need to normalize for this one. The effect is similar to the cover flow UI pattern:
@Override
public void transformPage(View page, float position) {
page.setRotationY(position * -30);
}
这是我使用的最终代码:
so here is my final code, which i used:
viewPager = (ViewPager)findViewById(R.id.pager);
viewPager.setOnPageChangeListener(
new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
actionBar = getActionBar();
actionBar.setSelectedNavigationItem(position);
}
});
viewPager.setAdapter(tabAdapter);
viewPager.setPageTransformer(false, new PageTransformer() {
public void transformPage(View page, float position) {
page.setRotationY(position * -30); // animation style... change as you want..
}
});
这篇关于如何使用可滑动选项卡实现PageTransformer的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!