Je souhaite utiliser le type ci-dessous de vue Spinner Dropdown. Pour ce type de vue en rotation. J'ai écrit ce code.
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);
J'ai reçu ceci de http://developer.Android.com/guide/topics/ui/controls/spinner.html Mais ce que j'ai obtenu est,
S'il vous plaît, donnez-moi le meilleur moyen de le faire ....
C'est un peu comme revivre un ancien message mais la réponse acceptée est loin d'être idéale. La bonne façon de faire est de régler le spinner en mode déroulant dans votre layout xml:
<Spinner
Android:id="@+id/my_spinner"
...
Android:spinnerMode="dropdown"/>
Les options disponibles sont "dialogue" et "menu déroulant".
Votre application tourne sur un ancien thème.
Si vous utilisez Android 4.2, définissez le thème de l'application Android (dans le fichier manifeste) sur
Android:theme="@Android:style/Theme.Holo.Light"
OR
Android:theme="@Android:style/Theme.Holo.Light.DarkActionBar"
vous courez peut-être en dessous de 4.0, 4.0 vous montrera une liste déroulante comme votre image
Pour l'interface graphique, utilisez HoloEverywhere. https://github.com/Prototik/HoloEverywhere HoloEverywhere est la meilleure voie à suivre si vous voulez un thème Holo sur un ancien Android, puis sur 4.0.
Et pour le menu déroulant, utilisez Android: spinnerMode = "menu déroulant" dans la présentation, comme l'a mentionné Stephen Kidson.
Vous pouvez utiliser un popup comme ci-dessous:
spinner=(EditText)findViewById(R.id.txt_Spinner);
spinner.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
p = new Point();
p.x = location[0]+(v.getHeight());
p.y = 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, p.x + OFFSET_X, p.y + 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>