studio recuperar programacion personalizar ocultar notificaciones estado despliega como barra baja activar android android-actionbar-compat

recuperar - Menú de la barra de herramientas de Android no se muestra



personalizar barra de estado android (13)

¿Tienes barra de herramientas en el diseño de tu panel de control? Llame a setSupportActionBar (barra de herramientas) en su actividad. Use el tema Theme.AppCompat.NoActionBar para las actividades (si está usando una barra de herramientas)

import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; public class DashboardActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeButtonEnabled(true); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.dashboard, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }

Revisa tus estilos.

<resources> <!-- Base application theme. --> <style name="AppTheme.Base" parent="Theme.AppCompat.NoActionBar"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="android:windowBackground">@color/white</item> <item name="colorAccent">@color/colorAccent</item> </style> <style name="AppTheme" parent="AppTheme.Base"> </style> <style name="ToolbarTheme" parent="AppTheme" > </style> <color name="light">#FFBB33</color> <color name="colorPrimary">#FFBB33</color> <color name="textColorPrimary">#FFBB33</color> <color name="colorPrimaryDark">#FF8800</color> <color name="colorAccent">#ff9977</color> <color name="white">#ffffff</color> </resources>

Revise su diseño.

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <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:minHeight="?attr/actionBarSize" app:titleMarginStart="20dp" android:paddingRight="10dp" android:background="@color/colorPrimaryDark" app:theme="@style/ToolbarTheme" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15dp" android:text="Hello Toolbar" /> </LinearLayout>

Añadir tema en tu actividad en manifiesto.

android:theme="@style/AppTheme"

Estoy tratando de agregar un menú a la barra de herramientas. onCreateOptionsMenu método onCreateOptionsMenu de mi Activity , pero no aparece ningún menú.

Esto es dashboard.xml (de la carpeta del menú)

<?xml version="1.0" encoding="utf-8"?> <menu 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" tools:context="com.app.android.ui.dashboard.DashboardActivity"> <item android:id="@+id/action_scan_qr" android:icon="@drawable/ic_drawer" android:title="@string/menu_scan_qr" app:showAsAction="always" /> </menu>

NOTA: el icono de este menú es más oscuro que el color de fondo de la barra de acción, por lo que debería estar visible.

Inflar menú en actividad:

public class DashboardActivity extends ActionBarActivity { @Override public boolean onCreateOptionsMenu(final Menu menu) { getMenuInflater().inflate(R.menu.dashboard, menu); return true; }

Y el tema principal para la aplicación:

<style name="Theme.Application.Base" parent="Theme.AppCompat.Light"> <item name="colorPrimary">@android:color/white</item> <item name="colorPrimaryDark">@android:color/white</item> <item name="android:windowNoTitle">true</item> <item name="windowActionBar">false</item> <item name="drawerArrowStyle">@style/Theme.Application.DrawerArrowStyle</item> <item name="android:textColorSecondary">@android:color/darker_gray</item> </style>

Por onCreateOptionsMenu se llama onCreateOptionsMenu pero no aparece el menú. Estoy usando appcompat-v7:21.0.3

EDITAR:

@Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(getContentViewId()); toolbar = (Toolbar) findViewById(R.id.tool_bar); if (toolbar == null) { throw new Error("Can''t find tool bar, did you forget to add it in Activity layout file?"); } setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeButtonEnabled(true); }


Agregue el icono que desee en la carpeta mipmap

Cree menu_analysis.xml (en la carpeta de menú values.xml)

<?xml version="1.0" encoding="utf-8"?> <menu 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" tools:context="com.app.android.ui.dashboard.DashboardActivity"> <item android:id="@+id/action_scan_qr" android:icon="@mipmap/ic_menu_options" android:title="" app:showAsAction="always" /> </menu>

Ahora onPrepareOptionMenu bajo su clase de Java

@Override public boolean onPrepareOptionsMenu(final Menu menu) { getMenuInflater().inflate(R.menu.menu_analysis, menu); return super.onCreateOptionsMenu(menu); }


Aunque la respuesta aceptada funciona, hace que los elementos de mi menú se representen dos veces. Como acabo de resolver esto, intente algunas cosas como:

  1. recuerde return true; en lugar de super.onCreateOptionsMenu(menu);
  2. recuerde configurar la barra de acciones de soporte setSupportActionBar(findViewById(R.id.toolbar))
  3. Es posible que desee desactivar el título predeterminado de la aplicación si usa una barra de herramientas personalizada: getSupportActionBar().setDisplayShowTitleEnabled(false)

El problema se resolvió cuando lo cambié a app: showAsAction a android: showAsAction


En mi caso fue estúpido simple. Mi barra de herramientas era hija de AppBarLayout y, por alguna razón, cuando estaba configurando una barra de herramientas con diseño de restricciones, el parámetro xml layout_width de la barra de herramientas estaba configurado en 0dp. Así que la barra de herramientas estaba allí, pero invisible ... (> _ <)

Por lo tanto, si nada de lo de arriba te ayudó, solo verifica los parámetros "layout_width" y "layout_height".

Espero que esto ahorre el tiempo de alguien :)



Intenta lo siguiente:

<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" tools:context="com.example.lolipoptest.MainActivity" > <item android:id="@+id/action_settings" android:orderInCategory="100" android:showAsAction="never" android:title="@string/action_settings"/> </menu>

y el código de Java:

@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; }


No estoy seguro de por qué, pero cuando coloco todo el menú relacionado en el método onPrepareOptionsMenu, todo funciona bien.

@Override public boolean onPrepareOptionsMenu(final Menu menu) { getMenuInflater().inflate(R.menu.dashboard, menu); return super.onCreateOptionsMenu(menu); }


Si está inflando su menú desde un fragmento, por ejemplo, anulando el método onCreateOptionsMenu , asegúrese de llamar a setHasOptionsMenu(true) en onCreateView de su fragmento


Si está utilizando una Toolbar , debe establecerla como la barra de acción de soporte en onCreate :

setSupportActionBar(toolbar);


También estaba enfrentando el mismo problema, pero el error real fue que olvidé introducir la barra de herramientas en la actividad java

en AppCompactActivity , en el método de creación, defina su barra de herramientas por id y llame a setSupportActionBar(ToolBar);

El siguiente ejemplo es:

public class secondActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar);


Use setSupportActionBar (barra de herramientas) en el método onCreate.


Ustedes lo están haciendo mal. necesita inflar su menú en onCreateOptionsMenu de la actividad:

@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.mymenu, menu); return super.onCreateOptionsMenu(menu); }