14

मैं फ्लिपबोर्ड की तरह कार्रवाई टैब टैब के अंदर स्लाइडिंग टैब को कार्यान्वित करने का प्रयास कर रहा हूं। तो मुख्य टैब में से एक में तीन टैब होंगे। सब-टैब पहले स्क्रॉल करेंगे और एक बार सभी टैब स्क्रॉल हो जाएंगे, फिर मुख्य टैब फोकस में आता है और स्क्रॉलिंग शुरू कर देगा। Flipboard यूआई FlipBoard Tabsएक्शनबार टैब के अंदर स्लाइडिंग टैब

की

मैं संलग्न कर रहा हूँ स्क्रीनशॉट किसी को भी इस किया है? कृपया मदद करे।

+1

धन्यवाद लोग .. @ MimmoGrottoli किसी भी विचार कैसे परिवर्तन Flipboard करता viewpager onPageScroll – user1288005

+2

मुझे लगता है कि वे पाठ के रूप में एक पारदर्शी छवि है और वे एक लाल आयत उस टैब –

+1

या हो सकता है पाठ का रंग नीचे रखा जाता है ले जाने पर पाठ का रंग बस पारदर्शी है :) –

उत्तर

4

ऐसा लगता है कि यह पहले से ही एंड्रॉइड द्वारा प्रबंधित किया गया है: आपको बाहरी गतिविधि में व्यूपेजर बनाने और व्यूपाजर द्वारा होस्ट किए गए प्रत्येक टुकड़े के लिए, एक व्यूपाजर बनाएं।

MainActivity.java

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     MyPagerAdapter adapter = new MyPagerAdapter(getSupportFragmentManager()); 
     ViewPager viewPager = (ViewPager) findViewById(R.id.pager_activity); 
     viewPager.setAdapter(adapter); 
    } 

    private class MyPagerAdapter extends FragmentStatePagerAdapter { 

     public MyPagerAdapter(FragmentManager fm) { 
      super(fm); 
     } 

     @Override 
     public android.support.v4.app.Fragment getItem(int i) { 
      return new InnerFragment(); 
     } 

     @Override 
     public int getCount() { 
      return 3; 
     } 

     @Override 
     public CharSequence getPageTitle(int position) { 
      return "ACTIVITY TITLE " + (position+1); 
     } 
    } 
} 

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity"> 

    <android.support.v4.view.ViewPager 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/pager_activity" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <android.support.v4.view.PagerTitleStrip 
      android:id="@+id/pager_title_strip_activity" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="top" 
      android:background="#33b5e5" 
      android:textColor="#fff" 
      android:paddingTop="4dp" 
      android:paddingBottom="4dp" /> 

    </android.support.v4.view.ViewPager> 

</RelativeLayout> 

InnerFragment.java

public class InnerFragment extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View root = inflater.inflate(R.layout.fragment_inner, container, false); 
     ViewPager pager = (ViewPager) root.findViewById(R.id.pager); 
     MyPagerAdapter adapter = new MyPagerAdapter(getChildFragmentManager()); 
     pager.setAdapter(adapter); 
     return root; 
    } 

    private class MyPagerAdapter extends FragmentStatePagerAdapter { 

     public MyPagerAdapter(FragmentManager fm) { 
      super(fm); 
     } 

     @Override 
     public android.support.v4.app.Fragment getItem(int i) { 
      return PageFragment.newInstance(i+1); 
     } 

     @Override 
     public int getCount() { 
      return 3; 
     } 

     @Override 
     public CharSequence getPageTitle(int position) { 
      return "FRAGMENT " + (position+1) + " TITLE " + (position+1); 
     } 
    } 
} 
(टुकड़ा गतिविधि viewpager अंदर की मेजबानी में से एक): यह अपने परीक्षण परियोजना है

और इसका लेआउट fragment_inner.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="it.test.testflipboardviewpager.InnerFragment"> 

    <android.support.v4.view.ViewPager 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/pager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <android.support.v4.view.PagerTitleStrip 
      android:id="@+id/pager_title_strip" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="top" 
      android:background="#33b5e5" 
      android:textColor="#fff" 
      android:paddingTop="4dp" 
      android:paddingBottom="4dp" /> 

    </android.support.v4.view.ViewPager> 

</FrameLayout> 

PageFragment.java -

public class PageFragment extends Fragment { 

    private int mPosition; 

    public static PageFragment newInstance(int position) { 
     PageFragment fragment = new PageFragment(); 
     Bundle args = new Bundle(); 
     args.putInt("position", position); 
     fragment.setArguments(args); 
     return fragment; 
    } 

    public PageFragment() { 
     // Required empty public constructor 
    } 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     if (getArguments() != null) { 
      mPosition = getArguments().getInt("position"); 
     } 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 
     View root = inflater.inflate(R.layout.fragment_page, container, false); 
     TextView textView = (TextView) root.findViewById(R.id.text); 
     textView.setText("" + mPosition); 
     return root; 
    } 
} 

viewpager टुकड़ा InnerFragment द्वारा की मेजबानी में से एक और अपने लेआउट fragment_page.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="it.test.testflipboardviewpager.PageFragment"> 

    <TextView 
     android:id="@+id/text" 
     android:textSize="25sp" 
     android:gravity="center" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

</FrameLayout> 

यह है कि! कोशिश करो और मुझे बताओ।

संपादित करें: यह कहना भूल गया कि पहला घटक एक्शनबार नहीं है।

संबंधित मुद्दे