Android 使用Viewpager显示特定数量的选项卡
我正在使用ViewPager在4个选项卡之间滑动。我希望对齐选项卡,当前选项卡位于对齐的中间,最右边有一个选项卡(如果可用),最左边有一个选项卡 我知道你可以用一些第三方图书馆做一些棘手的事情(例如,杰克·沃顿)。但是我可以用本机的ViewPager来控制这个控件吗?(我还使用支持库v4。) 至少,我的问题是,我可以定义屏幕上显示多少选项卡吗?我有4个,任何时候都想要3个。 这是我的布局Android 使用Viewpager显示特定数量的选项卡,android,tabs,android-viewpager,Android,Tabs,Android Viewpager,我正在使用ViewPager在4个选项卡之间滑动。我希望对齐选项卡,当前选项卡位于对齐的中间,最右边有一个选项卡(如果可用),最左边有一个选项卡 我知道你可以用一些第三方图书馆做一些棘手的事情(例如,杰克·沃顿)。但是我可以用本机的ViewPager来控制这个控件吗?(我还使用支持库v4。) 至少,我的问题是,我可以定义屏幕上显示多少选项卡吗?我有4个,任何时候都想要3个。 这是我的布局 <LinearLayout android:layout_width="fill_parent
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:orientation="horizontal" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="0" />
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
选项卡式应用程序的普通视图在顶部有三个选项卡,您可以在其中滑动。如果您的viewpager中有更多选项卡,您可以随意滚动 实施过程与此类似:
public class MainActivity extends FragmentActivity implements ActionBar.TabListener {
private ViewPager ViewPager;
private TabsPagerAdapter SectionsPagerAdapter;
private ActionBar actionBar;
private String[] tabs = { "Event Details", "Line-up", "Donations", "Concert"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialisation
ViewPager = (ViewPager) findViewById(R.id.pager);
actionBar = getActionBar();
SectionsPagerAdapter = new TabsPagerAdapter(getSupportFragmentManager());
ViewPager.setAdapter(SectionsPagerAdapter);
actionBar.setHomeButtonEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// Adding Tabs
for (String tab_name : tabs) {
actionBar.addTab(actionBar.newTab().setText(tab_name).setTabListener(this));
}
ViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// on changing the page
// make respected tab selected
actionBar.setSelectedNavigationItem(position);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
}
@Override
public void onTabReselected(Tab tab, android.app.FragmentTransaction ft) {
}
@Override
public void onTabSelected(Tab tab, android.app.FragmentTransaction ft) {
ViewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(Tab tab, android.app.FragmentTransaction ft) {
}
}
希望这有帮助:)我也在寻找这个