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:
- Cómo cambiar el elemento de una ruleta en ActionBar mediante programación
- Android - Spinner, onItemSelected (...) no se llama
- Cómo hacer en el artículo seleccionado no elegir automáticamente la primera entrada
- Android: setSelection no tiene ningún efecto en Spinner
- ¿Diversas vistas para el artículo del hilandero y del hilandero?
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:
¿Alguna sugerencia?
- La flecha giratoria desaparece cuando cambio el color de fondo
- Spinner con sub-spinner no funciona como se esperaba
- Android Spinner.setSelection () no funciona
- ¿Cómo utilizar Spinner en Recyclerview?
- Android: Cree el hilador de forma programática desde el array
- Cómo dinamizar Android spinner con texto + imagen
- ¿Cómo insertar elementos adicionales en un SimpleCursorAdapter o Cursor para un Spinner?
- Android: reduce el ancho del cuadro desplegable de un hilandero
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.