¿Por qué mi hilandero es tan horrible?

Tengo un spinner que parece extremadamente feo como este: aquí está mi imagen http://i47.tinypic.com/5n6dj7.png

Cuando hago clic en se ve un poco mejor: aquí está mi imagen http://i50.tinypic.com/653jnk.png

Pero aún así, en el defecto, ni siquiera se parece a un spinner. ¿Alguna idea de cómo puedo mejorar su apariencia?

Aquí está el código:

adapter=new SpinAdapter(this,com.Orange.R.layout.spinnerrowlist,spinnerInfo); adapter.setDropDownViewResource(com.Orange.R.layout.multiline_spinner_dropdown_item); previousVisitCommentsSpinner.setAdapter(adapter); 

Spinnerrowlist.xml

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:background="#FFFFFF" android:orientation="horizontal" > <TextView android:id="@+id/textview_spinner1" style="?android:attr/spinnerItemStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="5dp" android:layout_alignParentLeft="true" android:textColor="@drawable/textorange_selected" /> <TextView android:id="@+id/textview_spinner2" style="?android:attr/spinnerItemStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_toRightOf="@+id/textview_spinner1" android:paddingLeft="5dp" android:textColor="@drawable/textorange_selected" /> <TextView android:id="@+id/textview_spinner3" style="?android:attr/spinnerItemStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:paddingLeft="5dp" android:textColor="@drawable/textorange_selected" /> </RelativeLayout> 

Y aquí está el hilandero:

 <Spinner android:id="@+id/previousVisitComments" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_below="@+id/previousvisit" android:layout_marginTop="15dp" android:background="@drawable/spinner_selector" android:textColor="@color/medium_orange" android:textAppearance="?android:attr/textAppearanceMedium" /> 

¡Los artículos en el hilandero deben estar en la misma línea, eso es porqué utilizo una disposición horizontal! ¡Gracias por sus respuestas!

Intenta agregar esto

 android:layout_toRightOf="@+id/textview_spinner1 

Y también puede agregar lo siguiente sólo para ver si hace una diferencia

 android:layout_below 

Y déjame saber cómo va 🙂

¡Los artículos en el hilandero deben estar en la misma línea, eso es porqué utilizo una disposición horizontal!

El problema es que usted está tratando de exprimir una gran cantidad de texto en un área estrecha. Sin embargo, usted tiene dos opciones:

Primero use lo que tiene, simplemente agregue el atributo textview_spinner2 a textview_spinner2 :

 <TextView android:id="@+id/textview_spinner2" style="?android:attr/spinnerItemStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_toLeftOf="@+id/textview_spinner3" android:layout_toRightOf="@+id/textview_spinner1" android:paddingLeft="5dp" /> 

También has dicho que estás utilizando a horizontal layout pero un RelativeLayout no tiene la orientation del atributo, por lo que esta línea no hace nada:

 android:orientation="horizontal" 

La organización de los elementos hijos está determinada por atributos individuales como: layout_toLeftOf , layout_toRightOf , layout_above , etc.

Segundo, si un RelativeLayout se comporta de manera desordenada y tiene un diseño sencillo como este, siempre puede cambiar a LinearLayout:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" > <TextView android:id="@+id/textview_spinner1" style="?android:attr/spinnerItemStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:textColor="@drawable/textorange_selected" /> <TextView android:id="@+id/textview_spinner2" style="?android:attr/spinnerItemStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:paddingLeft="5dp" android:textColor="@drawable/textorange_selected" /> <TextView android:id="@+id/textview_spinner3" style="?android:attr/spinnerItemStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:paddingLeft="5dp" android:textColor="@drawable/textorange_selected" /> </LinearLayout> 

Ahora ninguna de las columnas de su Spinner se superpone.

Puedes probar (android.R.layout.simple_spinner_dropdown_item) en tu código Java. En lugar de esto (com.Orange.R.layout.multiline_spinner_dropdown_item) Espero que esto ayude.

  • Diseño personalizado para el elemento Spinner
  • Carga de spinner sqlite con texto y valor
  • Error en Spinner en una ventana emergente, se bloquea cuando se hace clic
  • Cambiar el color del texto del elemento seleccionado en la ruleta
  • Elemento giratorio simple de Android
  • Spinner - enfoque al primer artículo
  • Spinner no aplica el atributo dropDownSelector
  • ¿Cómo re tamaño de la Altura de los artículos en Spinner con opción múltiple?
  • Android - Eliminar Spinner Dropdown Arrow
  • Spinner personalizado no ocultar el menú desplegable después de la selección
  • ¿La mejor manera de mostrar un indicador de carga / avance?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.