ActionBar / toolbar not showing in Lollipop app version

I am currently trying to convert my application into a Lollipop material design and am encountering some problems with the action bar / toolbar. Realizing everything as I did, the action bar / toolbar will not be displayed on the device with a lollipop or on a kikata. Maybe someone can see my themes, styles, activity_main (where I keep a bunch of fragments and this is the only place where I put xml code on the toolbar) and mainactivity.

Thanks.

values ​​/ styles.xml

<resources> <style name="Theme.MyTheme" parent="Theme.AppCompat.Light"> <!-- Set AppCompat's actionBarStyle --> <item name="actionBarStyle">@menu/action_menu</item> <!-- The rest of your attributes --> </style> </resources> 

values ​​/ themes.xml

 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="AppTheme" parent="AppTheme.Base"/> <style name="AppTheme.Base" parent="Theme.AppCompat"> <item name="colorPrimary">@color/material_blue_grey_800</item> <item name="colorPrimaryDark">@color/material_blue_grey_950</item> <item name="android:textColor">@color/black</item> <item name="android:windowNoTitle">true</item> <item name="windowActionBar">false</item> </style> </resources> 

activity_main.xml

 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawerLayout" android:layout_width="match_parent" android:layout_height="match_parent" > <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/fragment_container" android:layout_width="match_parent" android:layout_height="match_parent" /> <RelativeLayout android:id="@+id/drawerView" android:layout_width="250dp" android:layout_height="wrap_content" android:layout_gravity="start" > <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" /> <ListView android:id="@+id/drawerList" android:layout_width="250dp" android:layout_height="match_parent" android:layout_gravity="left" android:background="@drawable/nav_border" android:divider="@null" /> </RelativeLayout> <!-- <fragment android:id="@+id/fragment1" android:name="com.shamu11.madlibsportable.MadlibsSelect" android:layout_width="fill_parent" android:layout_height="fill_parent" /> --> </android.support.v4.widget.DrawerLayout> 

mainactivity

 public class MainActivity extends ActionBarActivity implements OnItemClickListener { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Fragment fragment = new MadlibsSelect(); fragment = new MadlibsSelect(); FragmentTransaction fm = getSupportFragmentManager().beginTransaction(); fragment.setArguments(getIntent().getExtras()); fm.add(R.id.fragment_container, fragment); fm.commit(); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); toolbar.inflateMenu(R.menu.action_menu); //ActionBar bar = getActionBar(); //bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#428bca"))); ...more stuff happen down here including adding nav drawer. 
+6
source share
3 answers

Change your Activity_main.xml as follows

 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawerLayout" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" /> <FrameLayout android:id="@+id/fragment_container" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> <RelativeLayout android:id="@+id/drawerView" android:layout_width="250dp" android:layout_height="wrap_content" android:layout_gravity="start" > <ListView android:id="@+id/drawerList" android:layout_width="250dp" android:layout_height="match_parent" android:layout_gravity="left" android:background="@drawable/nav_border" android:divider="@null" /> </RelativeLayout> <!-- <fragment android:id="@+id/fragment1" android:name="com.shamu11.madlibsportable.MadlibsSelect" android:layout_width="fill_parent" android:layout_height="fill_parent" /> --> </android.support.v4.widget.DrawerLayout> 

and if you use setSupportActionBar then toolbar.inflateMenu will not work.

Read more about this using the Android toolbar . It can help you.

+4
source

When using the new AppCompat library, your activity should extend from ActionBarActivity .

+4
source

Yes, it happened, I spent more than an hour to fix it.

  @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); // Sync the toggle state after onRestoreInstanceState has occurred. mDrawerToggle.syncState(); } 

This will automatically sync and finally show the Google icon.

 @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // Pass any configuration change to the drawer toggls mDrawerToggle.onConfigurationChanged(newConfig); } 

This works for me, hope this helps.

+1
source

Source: https://habr.com/ru/post/977909/


All Articles