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
- Color de flecha de ActionBarDrawerToggle v7
- Crash: java.lang.NoClassDefFoundError: android.support.v7.appcompat.R $ layout
- Personalización del espaciado de los hiladores
- Icono de barra de acciones ocultado después de que SearchView se expande
- Mostrar icono en barra de herramientas / barra de herramientas con AppCompat-v7 21
Y aquí quiero añadir este título.
- Animación de la barra de herramientas Android AppCompat-v21
- Android Marca roja exclamatoria
- Cómo crear vistas de estilo con appcompat
- Transición más suave de la actividad de pantalla completa con ActionBarSherlock
- ¿Cómo aplicar un tema a una barra de herramientas de Android?
- Cómo configurar NAVIGATION_MODE_LIST en la barra de herramientas new appcompat v7 21
- ¿Hay un AppCompat equivalente de Widget.Material.Spinner.Underlined?
- Android Studio no funciona mientras crea una aplicación mediante AppCompat v23 y API21
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. }