Android Tabs in middle of layout -


in middle of layout want have 2 tabs choose between viewing 2 different lists in second half of screen. how can this?

here image illustrating wish achieve. image has questions tab , answers tab in middle of screen. depending on tab select shows different listview:

tabexample

i wish achieve exact same thing.

i tried doing tabhost widget, life of me couldn't rid of title bar (i tried selecting themes no title bar, tried setting theme in manifest no title bar one)

i tried make action bar tabs, @ top of screen....

how can create tabs in middle of screen in image?

i had same today! tried pagertabstrip, because thought can't use tablayout if it's not toolbar. turns out wrong, , it's used in google iosched. can put tablayout + viewpager wherever want.

i know want custom tabs, easier customize if buttons, in opinion it's better use tablayout + viewpager, since makes things more scalable.

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:app="http://schemas.android.com/apk/res-auto"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:orientation="vertical"     android:paddingbottom="@dimen/activity_vertical_margin"     android:paddingleft="@dimen/activity_horizontal_margin"     android:paddingright="@dimen/activity_horizontal_margin"     android:paddingtop="@dimen/activity_vertical_margin">      <linearlayout         android:id="@+id/top_layout"         android:layout_width="match_parent"         android:layout_height="match_parent"         android:layout_weight="1"         android:orientation="horizontal"></linearlayout>      <relativelayout         android:id="@+id/bottom_layout"         android:layout_width="match_parent"         android:layout_height="match_parent"         android:layout_below="@+id/top_layout"         android:layout_weight="1">          <android.support.design.widget.tablayout             android:id="@+id/pager_header"             android:layout_width="match_parent"             android:layout_height="wrap_content"             android:layout_gravity="center"             android:minheight="60dp"             app:tabgravity="fill"             app:tabindicatorcolor="@color/coloraccentsecondary"             app:tabmode="fixed"             app:tabselectedtextcolor="@color/coloraccentsecondary"             app:tabtextappearance="@style/tournamentwaitingtimertabtextappearance" />          <android.support.v4.view.viewpager xmlns:android="http://schemas.android.com/apk/res/android"             android:id="@+id/pager"             android:layout_width="match_parent"             android:layout_height="match_parent"             android:layout_below="@+id/pager_header"></android.support.v4.view.viewpager>     </relativelayout>  </linearlayout> 

mainactivity class:

public class mainactivity extends appcompatactivity {      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);          // locate viewpager in activity_main.xml         viewpager viewpager = (viewpager) findviewbyid(r.id.pager);          // set viewpageradapter viewpager         viewpageradapter adapter = new viewpageradapter(getsupportfragmentmanager());         adapter.addfrag(new leftfragment(), "players");         adapter.addfrag(new rightfragment(), "prizes");          viewpager.setadapter(adapter);          tablayout mtablayout = (tablayout) findviewbyid(r.id.pager_header);         mtablayout.setupwithviewpager(viewpager);     }      class viewpageradapter extends fragmentstatepageradapter {         private final list<fragment> mfragmentlist = new arraylist<>();         private final list<string> mfragmenttitlelist = new arraylist<>();          public viewpageradapter(fragmentmanager manager) {             super(manager);         }          @override         public fragment getitem(int position) {             return mfragmentlist.get(position);         }          @override         public int getcount() {             return mfragmentlist.size();         }          public void addfrag(fragment fragment, string title) {             mfragmentlist.add(fragment);             mfragmenttitlelist.add(title);         }          @override         public charsequence getpagetitle(int position) {             return mfragmenttitlelist.get(position);         }     } } 

you can change adapter use, doesn't matter.

to customize tabs, i'd take @ this amazing tutorial.


Comments