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);

我在下面发布了我的图像,就像我的视图和微调器显示视图一样。但我需要微调器像第三张图片一样显示

这是我的布局 Spinner 以这种方式显示 但我需要这种格式

4

4 回答 4

4

对于您在图 3中显示的信息下拉微调器适用于3.0 及更高版本。对于以前的版本,如2.2 和 2.3,它将像 dialog 一样打开。它会在 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

迟到但可能对其他人有用,您可以简单地将 spinnerMode 设置为下拉:

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 回答