微调器显示对话框

时间:2013-07-02 06:04:22

标签: android android-layout spinner

我正在使用微调器,它像对话框一样打开。我需要微调器像下拉菜单一样打开。

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

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

Here is my layout Spinner displays in this way But I need in this format

4 个答案:

答案 0 :(得分:4)

迟到但可能对其他人有用,您只需将spinnerMode设置为下拉列表:

android:spinnerMode="dropdown"

否则,如果您决定将未来的想法更改为想要对话,只需将模式更改为对话框即可!

答案 1 :(得分:3)

有关您在图片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>    

enter image description here

参考代码

    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" >

答案 2 :(得分:2)

清单文件中的

将主题更改为android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen" 和用于微调器style="@style/MyDropDownNav"的xml文件集样式 并在样式文件中添加样式。

<!-- 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>

答案 3 :(得分: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();