Android TabLayout will not align right once Activity is resumed -


i using tablayout navigate between fragments in application. tabs aligned right of toolbar (next settings icon). , display when first open app:

desired layout

however, when rotate screen landscape , portrait, tabs become centered in toolbar:

undesired layout

here code toolbar, in activity_main.xml:

<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/apptheme.popupoverlay">          <relativelayout             android:layout_width="match_parent"             android:layout_height="match_parent">              <imageview                 android:layout_height="wrap_content"                 android:layout_width="wrap_content"                 android:paddingtop="16dp"                 android:paddingbottom="16dp"                 android:layout_gravity="center_vertical"                 android:src="@drawable/ic_photo_camera_white_24dp"/>              <textview                 android:id="@+id/title_text"                 android:layout_width="wrap_content"                 android:layout_height="match_parent"                 android:gravity="center"                 android:layout_alignparentleft="true"                 android:layout_alignparentstart="true"                 android:paddingleft="56dp"                 android:paddingstart="56dp"                 android:textcolor="@color/white"               android:textsize="@dimen/abc_text_size_title_material_toolbar"/>              <android.support.design.widget.tablayout                 android:id="@+id/tabs"                 android:layout_width="wrap_content"                 android:layout_height="match_parent"                 android:gravity="right"                 app:tabmode="fixed"                 app:tabmaxwidth="56dp"                 android:layout_alignparentright="true"                 android:layout_alignparentend="true"                 app:tabindicatorcolor="@android:color/white"/>         </relativelayout>     </android.support.v7.widget.toolbar> 

and oncreate method of mainactivity.java

@override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);      viewpager = (viewpager) findviewbyid(r.id.viewpager);     setupviewpager(viewpager);      toolbar = (toolbar) findviewbyid(r.id.toolbar);     setsupportactionbar(toolbar);      tablayout = (tablayout) findviewbyid(r.id.tabs);     tablayout.setupwithviewpager(viewpager);     setuptabicons();      textview tv = (textview) findviewbyid(r.id.title_text);     tv.settext(viewpager.getadapter().getpagetitle(viewpager.getcurrentitem()));      tablayout.setontabselectedlistener(new tablayout.viewpagerontabselectedlistener(viewpager) {         @override         public void ontabselected(tablayout.tab tab) {              super.ontabselected(tab);             textview tv = (textview) findviewbyid(r.id.title_text);             tv.settext(tabtext[tab.getposition()]);          }     }); } 

setupviewpager method:

private void setupviewpager(viewpager viewpager) {     viewpageradapter adapter = new viewpageradapter(getsupportfragmentmanager());      adapter.addfragment(new hotfragment(), "hot");     adapter.addfragment(new yourpostsfragment(), "your posts");     adapter.addfragment(new exploremapfragment(), "explore");     viewpager.setadapter(adapter); } 

setuptabicons method:

private void setuptabicons() {     tablayout.tab hot = tablayout.gettabat(0);     tablayout.tab your_posts = tablayout.gettabat(1);     tablayout.tab explore = tablayout.gettabat(2);     hot.seticon(tabicons[0]);     hot.settext(null);     your_posts.seticon(tabicons[1]);     your_posts.settext(null);     explore.seticon(tabicons[2]);     explore.settext(null); } 

i have tried many different xml properties, i'm inclined believe java related, due problem occurring when activity restarts. can't seem find why happen. appreciated.

this did when had problem:

  1. started new project (select tabbed activity) android studio (inspired code).
  2. this part of xml

                <android.support.design.widget.appbarlayout             ...>  <android.support.v7.widget.toolbar     ...            >      <android.support.design.widget.tablayout         android:id="@+id/tabs"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         app:tabmode="fixed"         android:layout_gravity="right"         android:layout_marginright="24dp"         style="@style/apptablayout"/>  </android.support.v7.widget.toolbar> 

and got: edit margin right wish


Comments

Popular posts from this blog

authentication - Mongodb revoke acccess to connect test database -

r - Update two sets of radiobuttons reactively - shiny -

ios - Realm over CoreData should I use NSFetchedResultController or a Dictionary? -