studio personalizar icono bar agregar android android-actionbar

personalizar - agregar icono action bar android



Cómo cambiar el texto en la barra de acción. (13)

Actualmente solo muestra el nombre de la aplicación y quiero que muestre algo personalizado y sea diferente para cada pantalla de mi aplicación.

Por ejemplo: mi pantalla de inicio podría decir ''página1'' en la barra de acción, mientras que otra actividad que la aplicación cambia podría tener ''página2'' en esa barra de acción de pantallas.


Actualización: último patrón de barra de acción (título):

Para su información, ActionBar se introdujo en el Nivel 11 de API. ActionBar es una función de ventana en la parte superior de la Actividad que puede mostrar el título de la actividad , los modos de navegación y otros elementos interactivos como la búsqueda.

Recuerdo exactamente cómo personalizar la barra de título y hacerla coherente a través de la aplicación. Así que puedo hacer una comparación con los días anteriores y puedo enumerar algunas de las ventajas de usar ActionBar:

  1. Ofrece a sus usuarios una interfaz familiar en todas las aplicaciones que el sistema adapta con gracia para diferentes configuraciones de pantalla.
  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 porque ActionBar ya está listo con la abstracción de nivel superior.

Por ejemplo:

=> Forma normal,

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

=> Personalizando la barra de acción,

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(); }

Diseñando la barra de acción:

El ActionBar le proporciona aspectos básicos y familiares, modos de navegación y otras acciones rápidas para realizar. Pero eso no significa que se vea igual en todas las aplicaciones. Puede personalizarlo según su IU y los requisitos de diseño. Solo tienes que definir y escribir estilos y temas.

Lea más en: Styling the Action Bar

Y si desea generar estilos para ActionBar, esta herramienta de Generador de estilos puede ayudarlo.

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

Antiguos: primeros días:

=> Forma normal,

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

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

=> Personalizado - Título - barra

Pero si desea personalizar la barra de título a su manera, es decir, si Want to put Image icon and custom-text , entonces el siguiente código funciona 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 en la carpeta de 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>


Dentro de la llamada de Activity.onCreate () o en otro lugar donde necesite cambiar el título:

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


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

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


La forma más sencilla es llamar a this.setTitle ("...") si está en la actividad. y si está en un fragmento, simplemente llame a getActivity (). setTitle ("...");

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


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

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


Podemos cambiar el título de la barra de acción de dos maneras:

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

    android:label="@string/TitleWhichYouWantToDisplay"

  2. En el código: en el código, llame al método setTitle () con un String o el id de String como 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); } }


Puede definir la etiqueta para cada actividad en su archivo de manifiesto.

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

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

Donde 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 a partir del código si desea establecerlo dinámicamente.

setTitle(address.getCity());

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


Puede definir su título programáticamente usando setTitle dentro de su Activity , este método puede aceptar una String o una ID definida en su archivo values/strings.xml . Ejemplo:

public class YourActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { setTitle(R.string.your_title); setContentView(R.layout.main); } }


Simplemente agregue este código en el método onCreate .

setTitle("new title");


Un poco más viejo pero tenía el mismo problema. Lo hice así:

strings.xml

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

y asegúrate de configurar esto en tu AndroidManifest.xml :

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

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


intenta 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); ... ... }

esto funciona para mi



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