Estoy tratando de usar la Barra de herramientas en lugar de la ActionBar, pero no puedo averiguar cómo agregar el botón arriba para volver a la actividad anterior.
No podía encontrar ningún método que podría relacionarse con ella.

¿Cómo puedo agregar el botón arriba?

OriginalEl autor Guilherme | 2014-12-17

6 Comentarios

  1. 24

    Supongo que lo que buscas es algo como esto:

    Toolbar toolbar = (Toolbar) findViewById(R.id.app_bar_detail);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    O en el caso de utilizar en el Fragmento:

    Toolbar toolbar = (Toolbar) view.findViewById(R.id.app_bar_detail);
    ((ActionBarActivity) getActivity()).setSupportActionBar(toolbar);
    ((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    Esto mostrará la Barra de Acción dentro de su barra de herramientas, pero no te preocupes todo va a encajar bien. El último que tiene que hacer si no desea que ninguna sombra bajo tu barra de acción o de cualquier fondo de es cambiar el tema en vaules/styles.xml.

    <style name="AppThmeme.Base" parent="Theme.AppCompat.NoActionBar">

    OriginalEl autor Jan Omacka

  2. 7

    Si quieres hacer esto en XML, puede utilizar…

    <android.support.v7.widget.Toolbar
                app:navigationIcon="?homeAsUpIndicator"
                ...

    OriginalEl autor gsysko

  3. 1

    Llamar getSupportActionBar().setHomeButtonEnabled(true); aún debe funcionar creo que, como le han llamado ya setSupportActionBar(toolbar);

    OriginalEl autor stkent

  4. 1

    Si usted se está preguntando por qué al hacer clic en el botón de arriba no funciona con fragmentos, usted necesita para configurar una navegación escucha así, no sé por qué Google no ha habilitado de forma predeterminada:

    protected fun setupToolbar(toolbar: Toolbar) {
        (activity as AppCompatActivity).run {
            setSupportActionBar(toolbar)
            supportActionBar?.setDisplayHomeAsUpEnabled(true)
            toolbar.setNavigationOnClickListener { onBackPressed() }
        }
    }

    OriginalEl autor M. Reza Nasirloo

  5. 0

    Usted puede añadir su propio botón «arriba» en la barra de herramientas, después de todo es sólo un ViewGroup.

    Puede personalizar la barra de herramientas tanto como usted desea, en su toolbar.xml, o dondequiera que usted ha definido android.apoyo.v7.widget.Barra de herramientas en el diseño de añadir a su botón «arriba» como la siguiente :

    <android.support.v7.widget.Toolbar
       xmlns:android="http://schemas.android.com/apk/res/android"
       android:id="@+id/toolbar"
       android:minHeight="?attr/actionBarSize"
       android:layout_height="?attr/actionBarSize"
       android:background="@drawable/color_toolbar"
       android:layout_width="match_parent">
    
       <ImageButton
           android:id="@+id/upButton"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:onClick="uphandler"
           android:src="@drawable/backbutton"
           android:layout_gravity="end"/>
    
    </android.support.v7.widget.Toolbar>

    Ahora, definir uphandler en función de su actividad a escuchar a este botón :

    public void uphandler(View v){
           this.finish();    //This will kill current activity, and if previous activity is still opened in background, it will come in front.
    }
    El uso de este.finish() es un anti-patrón, porque el «hasta» icono debe llevar al usuario a la jerarquía de los padres dentro de la aplicación – no necesariamente la última pantalla en la que se vio: material.google.com/patterns/…

    OriginalEl autor Abhinav Puri

  6. 0

    En el caso en que la actividad anterior es siempre el mismo para una actividad, a continuación, arriba/botón atrás puede lograrse fácilmente con la ayuda de parentActivityName atributo. Se puede mencionar en AndroidManifest.xml archivo como se muestra a continuación. Digamos que DetailActivity se abrió desde MainActivity. Así que cuando usted está en DetailActivity, a continuación, la barra de herramientas mostrará automáticamente una flecha apuntando a la izquierda. Cuando hacemos clic en la flecha apuntando a la izquierda, a continuación, MainActivity se muestra.

    Barra de herramientas - agregar el botón de arriba

    <activity android:name=".DetailActivity"
                android:parentActivityName=".MainActivity">
                <meta-data
                    android:name="android.support.PARENT_ACTIVITY"
                    android:value=".MainActivity" />
            </activity>

    OriginalEl autor RBT

Dejar respuesta

Please enter your comment!
Please enter your name here