适配器对微调器没有影响

时间:2014-08-12 11:13:34

标签: android spinner android-arrayadapter android-appcompat

使用自定义下拉列表创建微调器

我想在android中创建一个Spinner,它具有以下下拉列表样式:

enter image description here

我的onCreate方法

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

setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)

制作上一张图片的微调器下拉列表。

  protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

       Spinner spinner = (Spinner) findViewById(R.id.spinner);

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

        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);

    }

我按照site的说明进行操作。 但我没有得到相同的下拉列表。 setDropDownViewResource和适配器无效。

enter image description here

我在说明中找到的唯一区别是示例的样式是“android:Theme.Light”,而我的主题样式是 Theme.AppCompat.Light 。 所以,我想知道 AppCompat 是否是问题。

1 个答案:

答案 0 :(得分:0)

尝试这样来解决您的问题

<强> XML:

<Spinner
        android:id="@+id/spinner1"
        android:layout_width="275dp"
        android:layout_height="50dp"
        android:layout_gravity="center"
        android:spinnerMode="dropdown"
        style="@android:style/Widget.Spinner"
        android:layout_marginTop="20dp" />

<强>码

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


adapter.setDropDownViewResource(android.R.layout.select_dialog_singlechoie);
spinner.setAdapter(adapter);