¿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
- Vista de datos de Android Spinner que no se actualiza en el elemento re-seleccionado
- Cambiar Spinner dropdown icon
- Combinar Spinner y AutoCompleteTextView
- ¿Cómo agregar un spinner a un subtítulo - como en la aplicación Play Music para Android?
- ¿Cómo puedo invocar una acción en la misma selección de valor de spinner
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!
- Cambiar el color del pequeño triángulo en spinner en android
- ¿Cómo crear un spinner con título en él?
- ¿Qué tipo de objeto Spinner.getItemAtPosition (...) devuelve?
- Altura del menú desplegable de Spinner para coincidir con el padre
- el color de texto del hilandero es blanco?
- Etiqueta flotante Spinner?
- Cómo capturar evento onClick en Android para una ruleta
- Android: Dibujo de un botón como spinner
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.