Aquí está mi diseño:

<android.support.design.widget.AppBarLayout

    <android.support.design.widget.CollapsingToolbarLayout
        ...

        <android.support.v7.widget.Toolbar
            ...
        />

    </android.support.design.widget.CollapsingToolbarLayout>

</android.support.design.widget.AppBarLayout>

Quiero que el título se queda en la Barra de herramientas, no en CollapsingToolbarLayout. Así que he cambiado mi código de:

mCollapsingToolbar = ...
mCollapsingToolbar.setTitle(title);

:

mTitleBar = ...
setSupportActionBar(mTitleBar);
getSupportActionBar().setTitle(title);

Pero el título no es visible. Mi dispositivo es el Nexus 6 5.1.0

Gracias de antemano.


1 de actualización: he cambiado el código para esto, que aún no funcionan 🙁

setSupportActionBar(mToolbar);
getSupportActionBar().setTitle(title);
getSupportActionBar().setDisplayShowTitleEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

Actualización 2: he Aquí el fragmento de código para los tres puntos de vista:

private void setUpAppBarLayout() {
    AppBarLayout appBarLayout = (AppBarLayout) findViewById(R.id.appbar_layout);
    appBarLayout.setBackgroundColor(extractBackgroundColor());
}

private void setUpCollapsingToolbarLayout() {
    if (null == mCollapsingToolbar) {
        mCollapsingToolbar = (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar);
    }
}

private void setUpToolbar(String title) {
    mToolbar = (Toolbar) findViewById(R.id.tb_main);
    mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            supportFinishAfterTransition();
        }
    });
    mToolbar.inflateMenu(R.menu.menu_group_activity);
    mToolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            if (R.id.action_settings == item.getItemId()) {
                ...
                return true;
            } else {
                return false;
            }
        }
    });
    mToolbar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mRecyclerView.smoothScrollToPosition(0);
        }
    });

    setSupportActionBar(mToolbar);
    getSupportActionBar().setTitle(title);
    getSupportActionBar().setDisplayShowTitleEnabled(true);
    getSupportActionBar().setHomeButtonEnabled(true);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

Después de la llamada setSupportActionBar(mToolbar), tanto el título y el menú son invisibles.

stackoverflow.com/questions/30682548/…
Hola, @ask4solutions Lo que necesito es mostrar y mantener el título en la Barra de herramientas. No actualizarlo.
Revise este enlace puede ayudarte a… [enter enlace aquí la descripción][1] [1]: stackoverflow.com/a/28265266/2169192

OriginalEl autor Alex.Li | 2015-07-14

6 Comentarios

  1. 57

    Para que el título de la Barra de herramientas para trabajar con la CollapsingToolbarLayout que usted necesita para establecer el ctl el título enabled a false

    CollapsingToolbarLayout collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar);
    collapsingToolbarLayout.setTitleEnabled(false);
    Creo que debe ser aceptada respuesta.
    Esto debe ser aceptado respuesta!
    De acuerdo, este debe ser aceptado respuesta!
    bueno! Usted ha hecho mi trabajo fácil!

    OriginalEl autor Daniel Persson

  2. 16

    La solución es fácil. Como Daniel Persson dijo, que acaba de establecer collapsingToolbarLayout.setTitleEnabled(false);
    o utilizar el atributo XML app:titleEnabled="false"
    y el título con el interior de la Barra de herramientas en lugar de la CollapsingToolbarLayout, es decir: toolbar.setTitle(title);

    Es muy simple y no requiere de soluciones.

    OriginalEl autor Francesco Florio

  3. 10

    Que realmente se ve como el título de la Barra de herramientas se ha ido al ajustar dentro de un CollapsingToolBarLayout, por lo que la única solución que tengo para este problema es crear un nuevo TextView y agregar a la Barra de herramientas, recuerde que la Barra de herramientas es un ViewGroup, así que usted puede añadir widgets. No es tan limpio como me gustaría, pero por ahora funciona.

    TextView text = new TextView(this);
    text.setText(title);
    text.setTextAppearance(this, android.R.style.TextAppearance_Material_Widget_ActionBar_Title_Inverse);
    toolbar.addView(text);

    Espero que pueda encontrar un xml-solución amistosa para esto pronto, demasiado.

    para hacer que el texto aparezca en el lugar habitual añadir texto.setPadding(16,0,0,0);
    Esta solución no es la mejor. Usted puede leer mi solución en el post de abajo

    OriginalEl autor kerpie

  4. 6

    El truco aquí es establecer la titleEnabled = false de CollapsingToolbarLayout

    <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:contentScrim="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways"
            app:titleEnabled="false">
    
            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:minHeight="?attr/actionBarSize"
                app:layout_collapseMode="pin"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
                app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
                app:title="Message"
                app:titleMarginTop="13dp"
                app:titleTextColor="@android:color/white" />
    
        </android.support.design.widget.CollapsingToolbarLayout>

    O a través de código:

    CollapsingToolbarLayout collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar_layout);
    collapsingToolbarLayout.setTitleEnabled(false);
    cont utilizar el setTitleEnabled

    OriginalEl autor Sjd

  5. 0

    Necesita habilitar actionBar.setDisplayHomeAsUpEnabled(true); en el código

    No funciona para mí 🙁
    Puedes publicar aquí su código. Por lo que podemos comprobar donde está el problema existe
    stackoverflow.com/a/28318153/2169192
    Gracias saikrupa. Cómo pin título?
    puede usted explicar claramente

    OriginalEl autor saikrupa

  6. 0

    Tal vez esto? Sólo añadir android:fitsSystemWindows="true" a AppBarLayout

    <android.support.design.widget.CoordinatorLayout
        ...
        android:fitsSystemWindows="true">
    
        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="300dp"
            ...
            android:fitsSystemWindows="true"
            >
    
            <android.support.design.widget.CollapsingToolbarLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                >
    
                <android.support.v7.widget.Toolbar
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:minHeight="?attr/actionBarSize"
                    android:background="?attr/colorPrimary"
                    app:title="My Title"
                    />
    
            </android.support.design.widget.CollapsingToolbarLayout>
    
        </android.support.design.widget.AppBarLayout>
    
        ...
    
    </android.support.design.widget.CoordinatorLayout>

    Esto es lo que usted consigue

    OriginalEl autor Ievgen

Dejar respuesta

Please enter your comment!
Please enter your name here