android - Astuetz's PagerSlidingTabStrip library still doesn't slide the tabStrip -



android - Astuetz's PagerSlidingTabStrip library still doesn't slide the tabStrip -

i've added pagerslidingtabstrip library project, next guide strip under tabs doesn't slide (i'm referring have can see in google play app). here mainactivity:

mviewpager = (viewpager) findviewbyid(r.id.pager); mviewpager.setadapter(mcollectionpageradapter); pagerslidingtabstrip tabs = (pagerslidingtabstrip) findviewbyid(r.id.tabs); tabs.setviewpager(mviewpager); mviewpager.setonpagechangelistener(new viewpager.simpleonpagechangelistener() { @override public void onpageselected(int position) { actionbar.setselectednavigationitem(position); } }); (int = 0; < mcollectionpageradapter.getcount(); i++) { actionbar.addtab(actionbar.newtab() .settext(mcollectionpageradapter.getpagetitle(i)) .settablistener(this)); }

edit:

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"> <com.astuetz.pagerslidingtabstrip android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="48dip"/> <android.support.v4.view.viewpager android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="wrap_content" tools:context=".mainactivity" /> </relativelayout>

mainactivity:

public class mainactivity extends fragmentactivity implements actionbar.tablistener, android.app.actionbar.tablistener { collectionpageradapter mcollectionpageradapter; viewpager mviewpager; sharedpreferences mprefs; final string welcomescreenshownpref = "welcomescreenshown"; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); requestwindowfeature(window.feature_indeterminate_progress); setprogressbarindeterminatevisibility(true); setprogressbarindeterminatevisibility(false); setcontentview(r.layout.activity_main); mcollectionpageradapter = new collectionpageradapter( getsupportfragmentmanager()); final android.app.actionbar actionbar = getactionbar(); assert actionbar != null; actionbar.setdisplayshowtitleenabled(true); actionbar.setdisplayuselogoenabled(false); actionbar.sethomebuttonenabled(false); actionbar.seticon(r.drawable.ic_action_icon3); actionbar.settitle(r.string.app_name2); actionbar.setnavigationmode(actionbar.navigation_mode_tabs); mviewpager = (viewpager) findviewbyid(r.id.pager); mviewpager.setadapter(mcollectionpageradapter); pagerslidingtabstrip tabs = (pagerslidingtabstrip) findviewbyid(r.id.tabs); tabs.setviewpager(mviewpager); }

edit2 tabs_background.xml:

<item android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed_example" /> <item android:state_focused="true" android:drawable="@drawable/tab_selected_focused_example"/> <item android:drawable="@color/tab_color"/>

mainactivity:

actionbar.setdisplayshowtitleenabled(true); actionbar.setdisplayuselogoenabled(false); actionbar.sethomebuttonenabled(false); actionbar.seticon(r.drawable.ic_action_icon3); actionbar.settitle(r.string.app_name2); mviewpager = (viewpager) findviewbyid(r.id.pager); mviewpager.setadapter(mcollectionpageradapter); pagerslidingtabstrip tabs = (pagerslidingtabstrip) findviewbyid(r.id.tabs); tabs.setviewpager(mviewpager); tabs.setindicatorcolor(android.r.color.white);

activity_main.xml:

<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <com.astuetz.pagerslidingtabstrip android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="48dip" app:pstsindicatorcolor="@android:color/white" app:pstsunderlinecolor="@color/tab_color" app:pstsdividercolor="@color/tab_color" app:pststabbackground="@drawable/tabs_background"/> <android.support.v4.view.viewpager android:id="@+id/pager" android:layout_below="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" tools:context=".mainactivity" /> </relativelayout>

if want utilize pagerslidingtabstrip don't need add together tabs actionbar. cutting code to:

mviewpager = (viewpager) findviewbyid(r.id.pager); mviewpager.setadapter(mcollectionpageradapter); pagerslidingtabstrip tabs = (pagerslidingtabstrip) findviewbyid(r.id.tabs); tabs.setviewpager(mviewpager);

the library automatically adds tabs actionbar, gets tabs texts method:

@override public charsequence getpagetitle(int position) { homecoming titles[position]; }

edit:

add android:layout_below property viewpager , should work:

<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"> <com.astuetz.pagerslidingtabstrip android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="48dip"/> <android.support.v4.view.viewpager android:id="@+id/pager" android:layout_below="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" tools:context=".mainactivity" /> </relativelayout>

edit2:

firstly, create selector in drawable folder, called tabs_background.xml tabs background:

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@color/your_pressed_red_color" /> <item android:state_focused="true" android:drawable="@color/your_focused_red_color"/> <item android:drawable="@color/your_red_color"/> </selector>

then can customize tabs, setting properties, can see here, customization:

<com.astuetz.pagerslidingtabstrip android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="48dip" app:pstsindicatorcolor="@android:color/white" app:pstsunderlinecolor="@color/your_red_color" app:pstsdividercolor="@color/your_red_color" app:pststabbackground="@drawable/tabs_background">

don't forget add together line parent relativelayout xmlns:app="http://schemas.android.com/apk/res-auto"

and finally, set text color, programmatically:

tabs.settextcolor(android.r.color.white);

android tabs pagerslidingtabstrip

Comments

Popular posts from this blog

c - Compilation of a code: unkown type name string -

java - Bypassing "final local variable defined in an enclosing type" -

json - Hibernate and Jackson (java.lang.IllegalStateException: Cannot call sendError() after the response has been committed) -