java - android toolbar inside a tab -


i want make toolbar inside 1 of tabs nothing works me. can done? have toolbar above tabs need appear inside first tab.

here's code (with toolbar above tabs):

import ...  public class mainactivity extends actionbaractivity {  toolbar toolbar; viewpager pager; viewpageradapter adapter; slidingtablayout tabs; charsequence titles[] = {"projects", "people", "files"}; int numboftabs = 3;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);      toolbar = (toolbar) findviewbyid(r.id.tool_bar);     setsupportactionbar(toolbar);      adapter = new viewpageradapter(getsupportfragmentmanager(), titles, numboftabs);     pager = (viewpager) findviewbyid(r.id.pager);     pager.setadapter(adapter);     tabs = (slidingtablayout) findviewbyid(r.id.tabs);     tabs.setdistributeevenly(true);      tabs.setviewpager(pager); }   @override public boolean oncreateoptionsmenu(menu menu) {     getmenuinflater().inflate(r.menu.menu_primary, menu);     return true; }  final arraylist<string> listitems = new arraylist<string>();  @override public boolean onoptionsitemselected(menuitem item) {     int id = item.getitemid();      if (id == r.id.addbutton) {         final textview noproject = (textview) findviewbyid(r.id.noproject);         final listadapter addadapter = new arrayadapter<string>(this,                 r.layout.list_item, r.id.listframe, listitems);         final listview lv = (listview) findviewbyid(r.id.lv);         lv.setadapter(addadapter);          noproject.setvisibility(view.gone);         lv.setvisibility(view.visible);         listitems.add("new project");          lv.setonitemclicklistener(new adapterview.onitemclicklistener() {             @override             public void onitemclick(adapterview<?> parent, view view, int position, long id) {                 intent switchtoedit = new intent(mainactivity.this,                         teamcreate.class);                 startactivity(switchtoedit);             }         });     }     return super.onoptionsitemselected(item); } } 

first tab:

import ...  public class tab1 extends fragment {  @override public view oncreateview(layoutinflater inflater, @nullable viewgroup container, @nullable bundle savedinstancestate) {     view v =inflater.inflate(r.layout.tab_1,container,false);     return v; } } 

i faced similar challenge non-standard toolbar , tabs , got past it, though frankly results odd looking. can toolbar work under tab using similar technique, may leave users scratching heads. technique have 2 toolbars, 1 holding tablayout widget , 1 inside fragment(s) in viewpager.

i using material design tabs detail view in app. looked fine until did 2-pane master-detail view tablets. had issue tabs wanting directly under toolbar, no obvious way have master & detail share toolbar tabs showing under detail portion of screen.

i got working by:

  1. create "noactionbar" style in styles.xml, refer in main layout using "android:theme="@style/apptheme".

    <!-- turn off normal application bar can put our toolbars please.  replacing "theme.appcompat.light.darkactionbar" noactionbar  per http://www.truiton.com/2015/04/android-action-bar-dialog-using-toolbar/ --> <style name="apptheme" parent="materialtheme.base"/> <style name="materialtheme.base" parent="theme.appcompat.light.noactionbar"> <item name="windownotitle">true</item> <!--we using toolbar no need show actionbar--> <item name="windowactionbar">false</item> 
  2. toss android.support.design.widget.coordinatorlayout , use linearlayout.

  3. here snippet has toolbar containing tabs taking part of screen real estate rather entire width. note toolbar has "app:layout_scrollflags="scroll|enteralways":

      <framelayout android:id="@+id/detail_container"          android:layout_width="0dp"          android:layout_height="match_parent"          android:layout_gravity="end"          android:layout_weight="2"          tools:name="com.android.bazemom.popularmovies.tabcontainerfragment" > <!-- second toolbar used tabs --> <android.support.v7.widget.toolbar     android:id="@+id/toolbar"     xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:app="http://schemas.android.com/apk/res-auto"     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:background="?attr/colorprimary"     android:minheight="?attr/actionbarsize"     app:layout_scrollflags="scroll|enteralways"     />  <android.support.design.widget.tablayout     android:id="@+id/tabanim_tabs"     android:layout_width="match_parent"     android:layout_height="wrap_content"     />  <!-- helps handing fragments load each tab --> <android.support.v4.view.viewpager     android:id="@+id/tabanim_viewpager"     android:layout_width="match_parent"     android:layout_height="match_parent"     app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

here master-detail view looked on wide tablet. tabs circled in green. toolbar action above tabs. wide tablet screen capture showing tabs using part of screen width.


Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -