6

スピナーを使用していますが、ダイアログのように開きます。ドロップダウンメニューのようにスピナーを開く必要があります。

ここにxmlファイルがあります

 <Spinner
 android:id="@+id/sp_countrycode_issue_coupon"
 android:layout_width="60dp"
 android:layout_height="40dp"
 android:layout_gravity="center"
 android:layout_marginLeft="3dp"
 android:layout_weight="1"
 android:background="@drawable/img_small_box_green"
 android:dropDownSelector="@drawable/img_small_box_green"
 android:gravity="right|center"
 android:textAlignment="center" />

ここにコードがあります

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this, R.array.country_code,
            android.R.layout.simple_spinner_item);

adapter.setDropDownViewResource(R.layout.spinner_textview);
sp_country_code.setAdapter(adapter);

ビューとスピナー表示ビューのように、画像を以下に投稿しました。しかし、スピナーを3番目の画像のように表示する必要があります

これが私のレイアウトです スピナーはこのように表示されます しかし、私はこの形式で必要です

4

4 に答える 4

4

イメージ 3で示したドロップダウン スピナーについては、バージョン 3.0 以降から適用できます。2.2 や 2.3などの以前のバージョンでは、ダイアログのように開きます。2.3 より上のバージョンでは、ドロップダウンが自動的に表示されます。

Android バージョン 4.0 以降を選択すると、スタイルが自動的に追加されます。

<!--
    Base application theme for API 14+. This theme completely replaces
    AppBaseTheme from BOTH res/values/styles.xml and
    res/values-v11/styles.xml on API 14+ devices.
-->
<style name="AppBaseTheme" parent="android:Theme.DeviceDefault.Light.DarkActionBar">
    <!-- API 14 theme customizations can go here. -->
</style>    

ここに画像の説明を入力

参照コード

    severitySpinner = (Spinner) findViewById(R.id.spinnerSeverity);
    severityAdapter = ArrayAdapter.createFromResource(this,
            R.array.severity_arrays, android.R.layout.simple_spinner_item);
    severityAdapter
            .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    severitySpinner.setAdapter(severityAdapter);

編集

<application
        android:icon="@drawable/appicon"
        android:label="Test"
        android:theme="@style/AppTheme" >
于 2013-07-02T06:22:32.713 に答える
4

遅くなりましたが、他の人には役立つかもしれません。スピナーモードをドロップダウンに設定するだけです:

android:spinnerMode="dropdown"

それ以外の場合は、変更が好きで、将来ダイアログが必要だと判断した場合は、モードをダイアログに変更してください!

于 2014-10-22T13:09:28.410 に答える
2

マニフェスト ファイルでテーマを に変更しandroid:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen" 、xml ファイルでスピナーのスタイルを設定 style="@style/MyDropDownNav" し、スタイル ファイルでスタイルを追加します。

<!-- style the list navigation -->
<style name="MyDropDownNav" parent="android:style/Widget.Holo.Light.Spinner">
    <item name="android:popupBackground">@drawable/bg_popup</item>
    <item name="android:dropDownSelector">@drawable/top_layout</item>
</style>
于 2013-07-02T06:10:05.023 に答える
0

次のようにコードを変更するだけです。

ArrayAdapter<String> spinnerMenu = new ArrayAdapter<String>(
                    RegisterActivity.this, R.layout.spinner_item, list);
            // TODO Auto-generated method stub
            spinnerMenu
                    .setDropDownViewResource(android.R.layout.simple_list_item_single_choice);

            country.setAdapter(spinnerMenu);
            country.getSelectedItemPosition();
于 2013-07-02T06:08:52.703 に答える