Actionbarsherlock IcsSpinner – el ancho siempre se ajusta a los elementos más amplios

Estoy usando Actionbarsherlock y quiero usar un diseño de barra de acción personalizada, pero todavía quiero una lista de navegación. Como resultado, incluyo un widget IcsSpinner. Sin embargo, la anchura es siempre tan grande como el elemento más grande, y esto no es deseado. Lo rompí de la barra de acción para depurar y todavía obtuvo los mismos resultados:

Texto corto

introduzca la descripción de la imagen aquí

Código del fragmento

public class TestFragment extends SherlockFragment { private final String[] testStrings = {"Short","Not so long text"}; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view=inflater.inflate(R.layout.test_layout, container, false); IcsSpinner spinner = (IcsSpinner)view.findViewById(R.id.test_spinner); ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), R.layout.spiner_test_row, R.id.spinner_text, testStrings); spinner.setAdapter(adapter); return(view); } } 

test_layout.xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <com.actionbarsherlock.internal.widget.IcsSpinner android:id="@+id/test_spinner" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> 

R.layout.spinner_test_row

 <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/spinner_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="16sp" /> 

Cambiar a Spinner estándar (en el emulador de pan de jengibre) funciona bien:

introduzca la descripción de la imagen aquí

introduzca la descripción de la imagen aquí

¿Alguna sugerencia?

Este parece ser el comportamiento predeterminado del componente IcsSpinner dentro de ActionBarSherlock, incluso al ejecutar la versión Honeycomb + de Android, por ejemplo Carpeta cuadrada en mi dispositivo ICS.

Jake ha sugerido no usar el componente IcsSpinner, pero sin él no hay forma sencilla de usar un diseño de barra de acción personalizada y mantener la interfaz de navegación de la interfaz de usuario. A menos que Jake pueda sugerir y alternativa seguiré usándolo, asegurándome de realizar pruebas completas en versiones futuras de su gran biblioteca.

  • Cómo hacer que un spinner material de diseño surgen de un CardView
  • Cómo seleccionar el primer elemento de un spinner en una prueba
  • Android: ¿Cómo vincular a spinner a la lista de objetos personalizados?
  • Spinner error en SetOnItemSelectedListener
  • Org.json.JSONArray no se puede convertir en JSONObject (Populating spinner from webservice)
  • Spinner con par clave-valor
  • Cambio de la flecha del hilador, Appcompat v21
  • Ocultar una hilera de carga al hacer clic fuera de ella en Android
  • Spinner no puede cargar una matriz de números enteros?
  • ¿Puede el usuario desmarcar el valor en la hiladora?
  • Establecer clave y valor en el hilador
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.