android设置样式以编程方式创建的微调器

时间:2016-04-29 06:46:43

标签: android xml spinner

我有一个微调器,它是以编程方式创建的:

spinnerLogger = new Spinner(context);
    spinnerLogger.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
    SpinnerAdapter spinnerAdapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, spinnerNames);
    spinnerLogger.setAdapter(spinnerAdapter);

在我的代码中我也使用xml创建的微调器,它使用样式来确保用户理解它们是微调器:

<Spinner
        android:layout_width="90dp"
        android:layout_height="wrap_content"
        android:id="@+id/spinnerHour"
        android:spinnerMode="dropdown"
        style="@style/Widget.AppCompat.Spinner.Underlined" />

我想将Widget.AppCompat.Spinner.Underlined样式应用于以编程方式创建的微调器,但似乎无法找到如何实现此目的。

我尝试创建一个只包含具有正确样式的微调器的xml(xml的名称是spinner_underlined,它位于布局文件夹中):

<?xml version="1.0" encoding="utf-8"?>
    <Spinner android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/spinner"
    xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/Widget.AppCompat.Spinner.Underlined"/>

当我尝试使用

应用此功能时
SpinnerAdapter spinnerAdapter = new ArrayAdapter<>(context, android.R.layout.spinner_underlined, spinnerNames);

它给了我一个cannot resolve symbol 'spinner_underlined'错误

1 个答案:

答案 0 :(得分:0)

您需要更改为R.layout....而不是android.R.layout....