2014-06-19 3 views
5

Ich benutze jetzt PagerSlidingTabStrip-Bibliothek in meiner Anwendung. Ich habe 5 Tabs, also ist es über Bildschirmbreite. also muss ich scrollen, um den letzten Tab zu sehen.PagerSlidingTabStrip macht horizontalscrollview die Breite fest

Ich möchte alle Registerkarten auf dem Bildschirm sehen und nie scrollen, um andere Elemente zu sehen.

Ich habe versucht, HorizontalScrollView zu LinearLayout in PagerSlidingTabStrip.java zu ändern, aber es ist ein wenig komisch. Indikator wurde schlecht verschoben.

// public class PagerSlidingTabStrip extends HorizontalScrollView 

public class PagerSlidingTabStrip extends LinearLayout 

und auch ich versuchte, sollteExpand Optionen ist wahr. aber es hat nicht wieder funktioniert.

App: pstsShouldExpand = "true"

Was kann ich für diese tun ????

Antwort

11

Ich hatte genau das gleiche Problem, aber folgenden Code, fand ich, dass, wenn Sie Tabs setExpand müssen Sie tun müssen, bevor Sie Viewpager Tabs setzen.

tabs = (PagerSlidingTabStrip) findViewById(R.id.slidingTabStrip); 
//Before setting view pager 

tabs.setShouldExpand(true); //Works 

tabs.setViewPager(vpPager); 

//After setting view pager 
tabs.setShouldExpand(true); //Will not work 
+0

Neugierig, warum niemand dies aufwertete. =) –

+0

Danke :) gearbeitet – user3819810

+0

Gott ... nach 3 Stunden endlich habe ich das gefunden ... Vielen Dank .... – kgandroid

3

Ich löste dieses Problem von mir selbst. Das Problem ist, sollte Expand Attr nicht funktionieren, weil unsere Tabs 5 sind, so kann ich nicht. aber wenn ich meine Tab-Zahl 4 einstelle, funktioniert es und sieht gut aus. Sie füllten sich mit der Bildschirmbreite des Geräts.

Wie auch immer ich diese Breite geändert habe.

defaultTabLayoutParams = new LinearLayout.LayoutParams(dm.widthPixels/your tab count, LayoutParams.MATCH_PARENT); 

Ich hoffe, es wird hilfreich sein und sparen Sie Ihre Zeit.