1

TabLayoutが必要です。最初の段階では2つのタブしか表示されません。
アクティブなタブを中央にスワイプすると、次のタブが左側になり、前のタブが右側になります。
どうすればいいですか?

正確なシナリオのスナップショットは次のとおりです。 enter image description here enter image description here pls anyone advice me。androidのビューページャーでスワイプしながらタブを1つずつ表示する方法

+0

: http://www.truiton.com/2015/06/android-tabs-example-fragments-viewpager/ –

答えて

0

あなたがtabmodeを変更したい場合は、アプリを行うことができます.xmlファイル

<?xml version="1.0" encoding="utf-8"?> 
    <android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 
    <android.support.v7.widget.Toolbar 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     app:layout_scrollFlags="scroll|enterAlways" 
     android:id="@+id/toolbar"/> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/tabs" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:tabMode="scrollable"/> 

</android.support.design.widget.AppBarLayout> 

<android.support.v4.view.ViewPager 
    android:id="@+id/viewpager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 
    </android.support.design.widget.CoordinatorLayout> 

でこのCOADを追加します。tabModeは=

Javaコードを "修正"

public class Tabmenu extends AppCompatActivity { 
private TabLayout tabLayout; 
    private ViewPager viewPager; 
    Toolbar toolbar; 

// @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_tabmenu); 

    toolbar = (Toolbar) findViewById(R.id.toolbar); 
    toolbar.setTitle("Menus Item"); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

    viewPager = (ViewPager) findViewById(R.id.viewpager); 
    setupViewPager(viewPager); 

    tabLayout = (TabLayout) findViewById(R.id.tabs); 
    tabLayout.setupWithViewPager(viewPager); 
    viewPager.setCurrentItem(item); 
      } 

    private void setupViewPager(ViewPager viewPager) { 
    ViewPagerAdapter adapter = new 
    ViewPagerAdapter(getSupportFragmentManager()); 
    adapter.addFrag(new Norththalis(), "NORTH INDIAN THALIS"); 
    adapter.addFrag(new Northmenu(), "NORTH INDIAN MENU"); 
    adapter.addFrag(new Biryani(), "BIRYANI"); 
    adapter.addFrag(new Packs(), "PACKS"); 
    adapter.addFrag(new Roles(), "ROLES"); 
    adapter.addFrag(new Sides(), "SIDES"); 
    adapter.addFrag(new Sweets(), "SWEETS"); 
    adapter.addFrag(new Beverages(), "BEVERAGES"); 

    viewPager.setAdapter(adapter); 
      } 

    class ViewPagerAdapter extends FragmentPagerAdapter { 
    private final List<Fragment> mFragmentList = new ArrayList<>(); 
    private final List<String> mFragmentTitleList = new ArrayList<>(); 

    public ViewPagerAdapter(FragmentManager manager) { 
     super(manager); 
    } 

    @Override 
    public Fragment getItem(int position) { 
     return mFragmentList.get(position); 
    } 

    @Override 
    public int getCount() { 
     return mFragmentList.size(); 
    } 

    public void addFrag(Fragment fragment, String title) { 
     mFragmentList.add(fragment); 
     mFragmentTitleList.add(title); 
    } 

    @Override 
    public CharSequence getPageTitle(int position) { 
     return mFragmentTitleList.get(position); 
    } 
     } 

      } 
+0

3つのタブしかない場合は、スクロールモードを「修正」、そうでなければ「スクロール可能」に変更する必要があります。 –

+0

お返事ありがとうございます@ Ashutosh Tripathi。私は30 +スライドを持っています。最初のスライドには2つのスライドだけを表示したい。スワイプすると、利用可能なタブが1つずつ表示されます。 –

0

がこれを挿入していますあなたのコードであなたのtabLayoutをカスタマイズしています:

tabLayout.setTabGravity(TabLayout.GRAVITY_FILL); 
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE); 
+0

運がない。あなたがタブのレイアウトを使ったアプリのリンクを見てください。https://play.google.com/store/apps/details?id=com.quranenglish.wordbyword&hl=en –

+0

あなたの唯一の問題は、表示するタブの数を修正することです一度に3つにする必要がありますか? –

0

長時間の検索の後、PagerSlidingTabStripライブラリを使用して解決策を得ました。

アプリ:pstsPaddingMiddle = "true" を アプリ:pstsTabPaddingLeftRight = "80dp"

これはトリックをしました。 ViewPagerとxml

0

使用

<android.support.v4.view.PagerTabStrip 
    android.support.v4.view.PagerTabStrip 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" /> 

これはあなたを助けるべき
関連する問題