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:
however, when rotate screen landscape , portrait, tabs become centered in toolbar:
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:
- started new project (select tabbed activity) android studio (inspired code).
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
Post a Comment