Cómo agregar icono en la parte superior del texto de la barra de acción en android

Soy nuevo en android. Estoy tratando de implementar una barra de acción que tiene tres pestañas, cada pestaña contiene un icono y el nombre de la pestaña. Tengo éxito para colocar el icono y el texto en cada pestaña, pero por desgracia el icono viene a la izquierda del texto (Nombre de la pestaña) en la pestaña. Quiero icono de lugar en la parte superior del texto en lugar de lado izquierdo. Por favor, encuentre un fragmento de mi código, y por favor ayúdenme a encontrar la solución. Gracias por adelantado,

private void setActionBar() { ActionBar bar = getActionBar(); bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); bar.setDisplayShowHomeEnabled(false); bar.setDisplayShowTitleEnabled(false); ActionBar.Tab tabA = bar.newTab().setText("TabA"); tabA.setIcon(R.drawable.iconA); ActionBar.Tab tabB = bar.newTab().setText("TabB"); tabB.setIcon(R.drawable.iconB); ActionBar.Tab tabC = bar.newTab().setText("TabC"); tabC.setIcon(R.drawable.iconC); } 

Puede utilizar la vista personalizada para definir cómo desea que se muestren sus pestañas.

  1. Definir un diseño personalizado donde tiene una imagen encima del texto
  2. En su actividad, infle la vista y establezca los valores para su imagen y su texto
  3. Configurar la vista personalizada para la pestaña

He aquí un ejemplo aproximado:

DISEÑO PERSONALIZADO

 <?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="match_parent" android:gravity="center_horizontal" android:orientation="vertical" > <ImageView android:id="@+id/tabIcon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:paddingTop="2dp" /> <TextView android:id="@+id/tabText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:textColor="#FFFFFF" /> </LinearLayout> 

INFLAR VIEW

 View tabView = activity.getLayoutInflater().inflate(R.layout.actiobar_tab, null); TextView tabText = (TextView) tabView.findViewById(R.id.tabText); tabText.setText(R.String.sometext); ImageView tabImage = (ImageView) tabView.findViewById(R.id.tabIcon); tabImage.setImageDrawable(activity.getResources().getDrawable(R.drawable.someimage)); 

AJUSTE LA VISTA PERSONALIZADA PARA LA LLAVE DADA

 Tab tab = actionBar.newTab().setCustomView(tabView) 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.