Android: Change Spinner Dropdown ver más
Im Mi aplicación Quiero el siguiente tipo de Spinner Dropdown vista. Para este tipo de vista de spinner. Escribí este código.
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.spinner, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner_obj.setAdapter(adapter);
Conseguí esto de http://developer.android.com/guide/topics/ui/controls/spinner.html Pero lo que conseguí es,
- Establecer TextSize a un texto en spinner en android programatically
- Uso correcto de un Spinner, siguiendo las directrices de diseño del material
- Android - ¿Cómo añadir un borde inferior (enfocado) a spinner?
- Selección de Android Spinner
- ¿Cómo puedo administrar la altura de los ítems de spinner android?
Por favor, proporcionarme la mejor manera de hacer esto ….
- Spinner que agrega la matriz de la secuencia en la selección del artículo cómo puede conseguir el valor relacionado artículo en androide
- Alinee los valores del hilador a la derecha en lugar de a la izquierda
- Disposición de Android: Alinear un TextView y un Spinner
- ¿Cómo puedo utilizar onItemSelected en Android?
- ¿Cómo cambiar el tamaño del texto y el color de texto del hilandero?
- Cómo ocultar spinner dropdown android
- ¿Qué atributo de estilo tiene que ser cambiado para spinner dropdownitem?
- Cómo rellenar un Spinner con una lista de clases Java en línea
Tipo de revivir un viejo post aquí, pero la respuesta aceptada está lejos de ser ideal. La forma correcta de hacerlo es configurar el Spinner a modo de lista desplegable en su diseño xml:
<Spinner android:id="@+id/my_spinner" ... android:spinnerMode="dropdown"/>
Las opciones disponibles son "diálogo" y "desplegable".
Su aplicación se ejecuta en tema antiguo.
Si está utilizando android 4.2, defina el tema de la aplicación android (en el archivo de manifiesto) para
android:theme="@android:style/Theme.Holo.Light"
O
android:theme="@android:style/Theme.Holo.Light.DarkActionBar"
Puede ser que se está ejecutando en menos de 4.0, 4.0 le mostrará desplegable como su imagen
Puede usar popup como a continuación:
spinner=(EditText)findViewById(R.id.txt_Spinner); spinner.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { p = new Point(); px = location[0]+(v.getHeight()); py = location[1]+v.getHeight(); if (p != null) showPopup(statusActivity.this, p); System.out.println("show popup"); } }); // The method that displays the popup. private void showPopup(final Activity context, Point p) { int popupWidth = 300; int popupHeight = 500; // Inflate the popup_layout.xml LinearLayout viewGroup = (LinearLayout) context.findViewById(R.id.popup); LayoutInflater layoutInflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View layout = layoutInflater.inflate(R.layout.popup_layout, viewGroup); // Creating the PopupWindow popup = new PopupWindow(context); popup.setContentView(layout); popup.setWidth(popupWidth); popup.setHeight(popupHeight); popup.setFocusable(true); // Some offset to align the popup a bit to the right, and a bit down, relative to button's position. int OFFSET_X = 00; int OFFSET_Y = 00; // Clear the default translucent background popup.setBackgroundDrawable(new BitmapDrawable()); // Displaying the popup at the specified location, + offsets. popup.showAtLocation(layout, Gravity.NO_GRAVITY, px + OFFSET_X, py + OFFSET_Y); ((TextView)layout.findViewById(R.id.textView2)).setClickable(true); ((TextView)layout.findViewById(R.id.textView3)).setClickable(true); ((TextView)layout.findViewById(R.id.textView4)).setClickable(true); ((TextView)layout.findViewById(R.id.textView5)).setClickable(true); ((TextView)layout.findViewById(R.id.textView6)).setClickable(true); ((TextView)layout.findViewById(R.id.textView7)).setClickable(true); ((TextView)layout.findViewById(R.id.textView8)).setClickable(true); ((TextView)layout.findViewById(R.id.textView9)).setClickable(true); } and popup.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/popup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/popup_bg" android:orientation="vertical" > <TextView android:id="@+id/textView1" style="@style/text_orange_heading" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Select Status" android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/textView2" style="@style/text_blue_contains" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:onClick="onClick" android:clickable="true" android:drawableBottom="@drawable/line_white" android:tag="Sleeping" android:text="Sleeping" /> <TextView android:id="@+id/textView3" style="@style/text_blue_contains" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:onClick="onClick" android:clickable="true" android:drawableBottom="@drawable/line_white" android:tag="Available" android:text="Available" /> <TextView android:id="@+id/textView4" style="@style/text_blue_contains" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:onClick="onClick" android:clickable="true" android:drawableBottom="@drawable/line_white" android:tag="Busy" android:text="Busy" /> <TextView android:id="@+id/textView5" style="@style/text_blue_contains" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:onClick="onClick" android:clickable="true" android:drawableBottom="@drawable/line_white" android:tag="At work" android:text="At work" /> <TextView android:id="@+id/textView6" style="@style/text_blue_contains" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:onClick="onClick" android:clickable="true" android:drawableBottom="@drawable/line_white" android:tag="Battery charge low" android:text="Battery charge low" /> <TextView android:id="@+id/textView7" style="@style/text_blue_contains" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:onClick="onClick" android:clickable="true" android:drawableBottom="@drawable/line_white" android:tag="In meeting" android:text="In meeting" /> <TextView android:id="@+id/textView8" style="@style/text_blue_contains" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:onClick="onClick" android:clickable="true" android:drawableBottom="@drawable/line_white" android:tag="TMS me later" android:text="TMS me later" /> <TextView android:id="@+id/textView9" style="@style/text_blue_contains" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:onClick="onClick" android:clickable="true" android:drawableBottom="@drawable/line_white" android:tag="At the toilet" android:text="At the toilet" /> <EditText android:id="@+id/textCustomize" style="@style/text_blue_contains" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:tag="Customize" android:text="Customize" /> </LinearLayout>
Para la GUI use HoloEverywhere. https://github.com/Prototik/HoloEverywhere HoloEverywhere es la mejor manera de ir si quieres tema de Holo en Android más antiguo entonces 4.0.
Y para el menú desplegable use android: spinnerMode = "dropdown" en el diseño como Stephen Kidson mencionó.
Es un widget de AutocompleteTextView
que se supone que debe utilizar pero que ha intentado con el widget Spinner
.
Si mi conjetura es la correcta, por favor, consulte el enlace. AutocompleteTextView
Aclamaciones.
- Facebook SDK para Android – establecer el ID de la aplicación mediante programación
- Comunicarse con Android dispositivo bluetooth a través de NodeJS y Termux