Android Action Bar: ¿Puedo reemplazar un título personalizado en appcompat v7?
Quiero añadir un título de acción personalizado a la izquierda de la barra de actina, reemplazando con el título predeterminado como en la imagen de abajo se muestra la imagen predeterminada
- El título de la barra de herramientas (SupportActionBar) cambia al nombre de la aplicación en el cambio de orientación
- Cómo cambiar los iconos de los iconos del menú de navegación y desbordamiento de la barra de herramientas (appcompat v7)?
- Cómo agregar un botón de acción flotante, sin AppCompat?
- No se encontraron recursos Errores de soporte: appcompat-v7: 22.0.0 en Android Studio
- Android 5.0 - Animar el AppCompat v7 21 icono de inicio de la hamburguesa a la flecha hacia atrás mediante programación
Y aquí quiero añadir este título.
- Programaticamente tinte un vector de soporte
- Quitar icono de la vista de búsqueda del texto de la pista
- Spinner: infla la excepción al usar AppCompat
- Efecto de ondulación en los elementos desplegables de Spinner de fondo de color (appcompat-v7 V21)
- Obtener ActionBar Título TextView con AppCompat v7 r21
- Android lollipop toolbar conmutador entre abrir / cerrar el cajón y el botón Atrás
- AppCompat v7 r21 devolviendo error en values.xml?
- Estilo TextView como un Spinner con appcompat v21
Necesita cambiar el logotipo y el título en la barra de acción.
Puedes usar
getActivity().getActionBar().setTitle("your title");
y
getActivity().getActionBar().setLogo(your draw id);
Es muy fácil de hacer ..
Hay muchos de manera de hacer esta tarea como se definió anteriormente .. pero voy a sugerir a hacer uso de la vista personalizada para la barra de acción ( ya que esto funcionará en todos los dispositivos como iguales ) .. esto le permitirá crear vistas mucho más complejas en un muy práctico y fácil.
Para su consulta usted hace uso de vistas personalizadas para ActionBar ..
Puedes crear una barra de acción personalizada como esta ..
actionBar = getSupportActionBar(); actionBar.setCustomView(R.layout.xyz); // Set custom view like this // In your case you want an icon ... ImageView image = (ImageView) actionBar.getCustomView().findViewById(R.id.fare_ll); // Get id of custom view like this
También es necesario establecer esta propiedad ..
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); // Now you can do any sort of stuffs with this icon .. like you can perform click functionality
Aquí está su archivo xyz.xml .. Este archivo es sólo para su propósito de referencia .. esto le permitirá saber cómo crear una vista personalizada para la barra de acción. 🙂
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="fill_parent" android:orientation="horizontal" > <LinearLayout android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_gravity="center|start" android:id="@+id/confirm_cabs_back" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/b" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:id="@+id/city_spinner_layout" android:layout_gravity="center" > <TextView android:id="@+id/action_city" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="XYZ" android:textStyle="bold" android:textColor="@color/taxi_blue" android:layout_gravity="center" /> <!-- <ImageView android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/drop_down" /> --> </LinearLayout> </LinearLayout> <!-- <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end|center" android:gravity="end" android:id="@+id/fare_ll" > --> <LinearLayout android:layout_width="2dp" android:layout_height="fill_parent" android:background="@color/grey" > </LinearLayout> <!-- android:layout_marginTop="2dp" android:layout_marginBottom="2dp" --> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hard_61" android:id="@+id/fare_ll" android:layout_gravity="center|end" android:layout_marginLeft="3dp" android:layout_marginRight="3dp" android:textColor="@color/black" /> <!-- </LinearLayout> --> </LinearLayout>
Tú eres bueno para irte ..
Necesita utilizar el código siguiente para obtener esto:
private ActionBar actionBar; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); actionBar = getActionBar(); actionBar.setTitle(""); actionBar.setLogo(R.drawable.logo); //logo needs to be defined in the drawables folder. }