una studio sortear ruleta para inventor hacer descargar decisiones como app alumnos android

studio - Cómo agregar una línea en la parte inferior de la ruleta como texto de edición en Android



ruleta de decisiones (6)

Hola, estoy haciendo una aplicación de demostración en la que estoy usando EditText en la que aparece una línea en la parte inferior que está bien, pero no está en el caso de spinner.

¿Cómo es esto posible?

layout.xml

<EditText android:id="@+id/twitterEditText" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:hint="@string/twitter_account" android:inputType="textWebEmailAddress" /> <Spinner android:id="@+id/countrySpinner" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:hint="@string/country" /> <Spinner android:id="@+id/stateSpinner" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:hint="@string/state" /> <Spinner android:id="@+id/citySpinner" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:hint="@string/city" />


Acabo de enfrentar el mismo problema y después de investigar durante un tiempo la respuesta es bastante fácil:

<Spinner ... style="@style/Widget.AppCompat.Spinner.Underlined" ... />


Dado que nadie ha publicado una respuesta real, aquí tienes:

<item android:bottom="1dp" android:left="-2dp" android:right="-2dp" android:top="-2dp"> <shape android:shape="rectangle" > <stroke android:width="0.5dp" android:color="@android:color/black" /> </shape> </item>


Esa línea es lo que escribes tu entrada anterior. Un spinner no tiene esa línea porque no es un campo de entrada de texto. Si también quieres tener una línea debajo de la ruleta, podrías insertarla debajo fingiéndola así:

<Spinner android:id="@+id/firstSpinner" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:hint="@string/firstHint" /> <!-- Separator view --> <View android:layout_width="match_parent" android:layout_height="1dp" android:background="@android:color/black"/> <Spinner android:id="@+id/secondSpinner" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:hint="@string/secondHint" /> <!-- Insert separator view again-->

Probablemente necesites jugar un poco con los márgenes. También observe que la línea negra solo está en Android 5.0, y que el diseño completo se verá muy diferente en Androids más antiguos. Si solo desea tener una línea negra en Android 5.0, debe hacer una copia del diseño e insertarla en un directorio llamado layout-v21 y tener la otra versión en el directorio de layout predeterminado.


Si @style/Widget.AppCompat.Spinner.Underlined no se encuentra o no funciona, se usa debajo del style para girar hacia abajo. Subrayado

<Spinner android:id="@+id/spinner" android:layout_width="wrap_content" style="@android:style/Widget.Material.Spinner.Underlined" android:layout_height="wrap_content" />


Esta funcionando

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:spinnerStyle">@style/holoSpinner</item> </style> <style name="holoSpinner" parent="Widget.AppCompat.Spinner.Underlined"> <item name="android:textSize">16sp</item> <item name="android:textColor">#3F51B5</item> </style>

Happy Coding


<android.support.v7.widget.AppCompatSpinner ... style="@style/Widget.AppCompat.Spinner.Underlined" app:backgroundTint="YOUR_COLOR_HERE" ... />