Android: Change Spinner Dropdown ver más

Im Mi aplicación Quiero el siguiente tipo de Spinner Dropdown vista. Introduzca aquí la descripción de la imagen 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, Introduzca aquí la descripción de la imagen

Por favor, proporcionarme la mejor manera de hacer esto ….

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.

  • Android Preferencias compartidas ejemplo
  • Actualizar City Spinner con notifyDataSetChanged después de seleccionar estado
  • Creación de un menú desplegable desde un archivo .json
  • ¿Cómo puedo agregar elementos a una ruleta en Android?
  • ¿Puede el usuario desmarcar el valor en la hiladora?
  • Cómo ver el estilo predeterminado de android simple_spinner_dropdown_item
  • Actualizar los elementos de la ruleta en función del elemento seleccionado de otra ruleta
  • Cómo dinamizar Android spinner con texto + imagen
  • Cómo seleccionar el primer elemento de un spinner en una prueba
  • Cómo hacer una fecha spinner en Android
  • Spinner no consigue el foco
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.