Pregunta

En la actualidad sólo se muestra el nombre de la aplicación y quiero que se muestre algo de encargo y ser diferente para cada pantalla en mi aplicación.

Por ejemplo:. Mi pantalla de inicio podría decir 'page1' en la barra de acción, mientras que otra de las actividades que la aplicación cambia a podría tener 'page2' en esa barra de acción pantallas

¿Fue útil?

Solución

Actualización: Última Barra de acciones (Título) patrón:

FYI, Barra de acciones se introdujo en API Nivel 11. Barra de acciones es una función de ventana en la parte superior de la actividad que se pueda mostrar la título de la actividad , los modos de navegación y otros elementos interactivos, como la búsqueda.

Me recuerda exactamente sobre la personalización de la barra de título y lo que es consistente a través de la aplicación. Así que se puede hacer una comparación con los días anteriores y hacer una lista de algunas de las ventajas del uso de la Barra de acciones:

  1. Se ofrece a los usuarios una interfaz familiar en todas las aplicaciones que el sistema de forma ordenada se adapta para configuraciones de pantalla diferente.
  2. Los desarrolladores no necesitan escribir mucho código para mostrar el título de la actividad, los iconos y los modos de navegación Barra de acciones porque ya está listo con la abstracción de alto nivel.

Por ejemplo:

introducir descripción de la imagen aquí

introducir descripción de la imagen aquí

=> manera normal,

getActionBar().setTitle("Hello world App");   
getSupportActionBar().setTitle("Hello world App");  // provide compatibility to all the versions

=> Personalización de la barra de acciones,

Por ejemplo:

@Override
public void setActionBar(String heading) {
    // TODO Auto-generated method stub

    com.actionbarsherlock.app.ActionBar actionBar = getSupportActionBar();
    actionBar.setHomeButtonEnabled(true);
    actionBar.setDisplayHomeAsUpEnabled(false);
    actionBar.setDisplayShowHomeEnabled(false);
    actionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.title_bar_gray)));
    actionBar.setTitle(heading);
    actionBar.show();

}

Styling la barra de acción:

La Barra de acciones le proporciona miradas básicos y familiares, los modos de navegación y otras acciones rápidas de realizar. Pero eso no quiere decir que se ve igual en cada aplicación. Se puede personalizar según sus necesidades de interfaz de usuario y diseño. Sólo hay que definir y estilos de escritura y temas.

Leer más en: Styling la barra de acción

Y si desea generar estilos de la Barra de acciones entonces este Estilo Generador herramienta puede ayudar a salir.

=============================================== ==================================

antiguas: A principios de días:

=> manera normal,

Puede cambiar el título de cada pantalla (es decir, la actividad) configurando sus Android:label

   <activity android:name=".Hello_World"
                  android:label="This is the Hello World Application">
   </activity>

=> Custom - Título - bar


Pero si desea personalizar la barra de título a su manera, es decir, Want to put Image icon and custom-text , a continuación, las siguientes obras de código para mí:

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>

titlebar.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="400dp" 
  android:layout_height="fill_parent"
  android:orientation="horizontal">

<ImageView android:id="@+id/ImageView01" 
            android:layout_width="57dp" 
            android:layout_height="wrap_content"
            android:background="@drawable/icon1"/>

<TextView 

  android:id="@+id/myTitle" 
  android:text="This is my new title" 
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent" 
  android:textColor="@color/titletextcolor"
   />
</LinearLayout>

TitleBar.java

public class TitleBar extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        final boolean customTitleSupported = 
                requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        setContentView(R.layout.main);
        if (customTitleSupported) {
            getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
                R.layout.titlebar);
        }
        final TextView myTitleText = (TextView) findViewById(R.id.myTitle);
        if (myTitleText != null) {
            myTitleText.setText("NEW TITLE");
            // user can also set color using "Color" and then
            // "Color value constant"
            // myTitleText.setBackgroundColor(Color.GREEN);
        }
    }
}

strings.xml

El archivo strings.xml se define bajo la carpeta values.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, Set_Text_TitleBar!</string>
    <string name="app_name">Set_Text_TitleBar</string>
    <color name="titlebackgroundcolor">#3232CD</color>
    <color name="titletextcolor">#FFFF00</color>
</resources>

Otros consejos

Se puede definir la etiqueta para cada actividad en el archivo de manifiesto.

Una definición normal de una actividad se ve así:

<activity
     android:name=".ui.myactivity"
     android:label="@string/Title Text" />

Cuando el texto del título debe ser reemplazado por el id de un recurso de cadena para esta actividad.

También puede configurar el texto del título de código si desea ajustar de forma dinámica.

setTitle(address.getCity());

con esta línea se ajusta el título a la ciudad de una dirección específica en el método alcrear de mi actividad.

Puede definir su título mediante programación utilizando setTitle dentro de su Activity, este método puede aceptar un String o un ID definido en el archivo de values/strings.xml. Ejemplo:

public class YourActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {

        setTitle(R.string.your_title);
        setContentView(R.layout.main);

    }
}

Puede cambiar el título de la Barra de acciones en una de dos maneras:

  1. En el Manifiesto:. En el archivo de manifiesto, establece la etiqueta de cada Actividad

    android:label="@string/TitleWhichYouWantToDisplay"
    
  2. En código:. En código, llame al método setTitle () con una cadena o el ID de cadena como el argumento

    public class MainActivity extends Activity {
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
    
            setTitle(R.string.TitleWhichYouWantToDisplay);
            // OR You can also use the line below
            // setTitle("MyTitle")
            setContentView(R.layout.activity_main);
    
        }
    }
    

Dentro de Activity.onCreate () de devolución de llamada o en el otro lugar donde tiene que cambiar el título:

getSupportActionBar().setTitle("Whatever title");

intente hacer esto ...

public void onCreate(Bundle savedInstanceState) 
{
super.onCreate(savedInstanceState);
    this.setTitle(String.format(your_format_string, your_personal_text_to_display));
    setContentView(R.layout.your_layout);
       ...
       ...
}

funciona para mí

poco mayor pero tenía el mismo problema. Lo hice así:

strings.xml

<string name="title_awesome_app">My Awesome App</string>

y asegúrese de configurar esto en su AndroidManifest.xml

<activity
            ...
            android:label="@string/title_awesome_app" >
            ...
</activity>

Es fácil y usted no tiene que preocuparse por nulas referencias y otras cosas.

getActionBar().setTitle("edit your text"); 

La manera más fácil de cambiar el nombre de la barra de acción es ir a la AndroidManifest.xml y escriba este código.

<activity android:name=".MainActivity"
    android:label="Your Label> </activity>

sólo tiene que añadir este código en el método onCreate.

setTitle("new title");
ActionBar ab = getActionBar();
TextView tv = new TextView(getApplicationContext());

LayoutParams lp = new RelativeLayout.LayoutParams(
        LayoutParams.MATCH_PARENT, // Width of TextView
        LayoutParams.WRAP_CONTENT);
tv.setLayoutParams(lp);
tv.setTextColor(Color.RED);
ab.setCustomView(tv);

Para más información consultar el siguiente enlace:

http: // android--code.blogspot.in/2015/09/android-how-to-change-actionbar-title_21.html

La mejor manera de cambiar el nombre de la barra de acción es ir a la AndroidManifest.xml y escriba este código.

<activity android:name=".YourActivity"
        android:label="NameYouWantToDisplay> </activity>

La forma más fácil es llamar this.setTitle("...") si se encuentra en la actividad. Y si se encuentra en un fragmento, simplemente llame getActivity().setTitle("...");

De esta manera le permitirá cambiar el título en cualquier momento, sin necesidad de llamar antes setContentView(R.layout.activity_test);

Para los desarrolladores de futuros que están utilizando AndroidX y navegación componente arquitectónico .

En lugar de establecer el título de la barra de herramientas utilizando una de las soluciones anteriores, que puede ser muy doloroso si desea ajustar de forma dinámica en un cambio posterior de pila, puede establecer un marcador de posición para la título del fragmento en el navegación gráfico como la siguiente:

<fragment
    android:id="@+id/some_fragment"
    android:name="package.SomeFragment"
    android:label="Hello {placeholder}"
    tools:layout="@layout/fragment_some">
    <argument
        android:name="placeholder"
        app:argType="string" />
</fragment>

El valor de marcador de posición tiene que ser proporcionada usando el FragmentDirections (a través del método de acción).

Se sustituye entonces en el título y espectáculo como Hello World (cuando placeholder = "World").

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top