25

मैं सामग्री डिजाइन के संबंध में एक महान demo here का संदर्भ दे रहा हूं। इसमें टैब हैं, लेकिन जब मैं बहुत अधिक जोड़ता हूं तो टैब आइटम squished (स्क्रीनशॉट देखें)। मैं इसे क्षैतिज स्क्रॉल कैसे कर सकता हूं?Google Play जैसे टैब में क्षैतिज स्क्रॉल कैसे सक्षम करें?

enter image description here

मैं नीचे का मानना ​​है कि लेआउट मैं परिवर्तन करना चाहिए है, लेकिन मैं डॉक्स कंघी और यह, कृपया मदद पाने के लिए प्रतीत नहीं कर सकते हैं!

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/main_content" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
      app:layout_scrollFlags="scroll|enterAlways" /> 

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

    </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.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="end|bottom" 
     android:layout_margin="@dimen/fab_margin" 
     android:src="@drawable/ic_done" /> 

</android.support.design.widget.CoordinatorLayout> 
+0

आप 'HorizontalScrollingView' में अपने' TabLayout' डाल की कोशिश की? –

+0

हे @ एन 1to ने काम किया! कृपया उत्तर के रूप में छोड़ दें और मैं स्वीकार करूंगा। मैं बस के साथ '' TabLayout' लिपटे '। केवल एक चीज है जब मैं स्क्रीन से एक टैब पर स्वाइप करता हूं, यह उस टैब पर ध्यान केंद्रित नहीं करता है। – TruMan1

+3

ऐसा न करें, टैबलाउट स्वयं ही क्षैतिज स्क्रॉलव्यू है। आप MODE_SCROLLABLE में TabLayout (यह डॉक्स में है) – BladeCoder

उत्तर

82

TabLayout में एक विधि setTabMode() है जो MODE_FIXED (डिफ़ॉल्ट) या MODE_SCROLLABLE हो सकती है जो आपको चाहिए।

तुम भी app:tabMode="scrollable" साथ एक्सएमएल में इस परिभाषित कर सकते हैं।

+0

एक डेमो http://www.ekiras.com/2015/12/how-to-implement-material-design-tab-layout-in-android.html –

+0

मेरे मामले में मैं बाएं भाग में स्थित TabLayout का उपयोग के लिए इस ब्लॉग का उल्लेख । क्या लंबवत में स्क्रॉल करना संभव है? –

0

SlidingTabLayout और SlidingTabStrip कक्षाएं आप जावा में टैब लेआउट फिसलने के लिए, Google डेवलपर साइट से इन कक्षाओं कॉपी एक्सएमएल में टैब लेआउट फिसलने जोड़ सकते हैं और सेट viewpager में करने की जरूरत है कि तुम क्या की तलाश कर रहे है। उम्मीद है कि यह मदद करेगा।

+0

मैं कैसे खरोंच से इस बनाने के लिए के उदाहरण खोजने हूँ स्थापित करना चाहिए, यह एक देशी नियंत्रण नहीं है? – TruMan1

+0

जहाँ तक मुझे पता है कि यह पुस्तकालय में शामिल नहीं है, लेकिन इस नियंत्रण का एक स्रोत कोड है। https://developer.android.com/samples/SlidingTabsBasic/index.html आपको उन्हें अपनी प्रोजेक्ट में कॉपी करने की आवश्यकता है। –

2

आप को यह app:tabMode="scrollable" जोड़ सकते हैं अपने android.support.design.widget.TabLayout

+2

आपके और स्वीकृत उत्तर के बीच क्या अंतर है? –

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