我们正在尝试更改微调器内文本的颜色。
这是我们活动布局中的XML:
<Spinner
android:id="@+id/SpinnerFeedbackType"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:entries="@array/feedbacktypelist"
android:textColor="@color/white" >
</Spinner>
这是strings.xml
<color name="white">#FFFFFF</color>
<!-- Other string resources also dfined in this file… -->
<string name="feedbacktype1">www.currycottageferndown.co.uk</string>
<string name="feedbacktype2">192.168.1.1</string>
<string name="feedbacktype3">8.8.8.8</string>
<string name="feedbacktype4">www.bournemouth.ac.uk</string>
颜色保持黑色。
由于某种原因,我们没有数组适配器,这是我们的微调代码。
Spinner feedbackSpinner = (Spinner) findViewById(R.id.SpinnerFeedbackType);
final String feedbackType = feedbackSpinner.getSelectedItem().toString();
有什么想法吗?
答案 0 :(得分:1)
您需要创建自定义布局才能创建自定义Spinner
。
使用微调项目的自定义定义创建自己的布局文件。这是我的spinner_item.xml:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textColor="#ff0000" />
R.layout.spinner_item
:// Declare the spinner
Spinner feedbackSpinner = (Spinner) findViewById(R.id.SpinnerFeedbackType);
// Set the custom layout to the array adapter, and send your array feedbacktypelist with the data
ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.feedbacktypelist, R.layout.spinner_item);
feedbackSpinner.setAdapter(adapter);
这是结果
现在,要自定义下拉列表项,您需要在下拉列表中创建新的布局文件。
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:ellipsize="marquee"
android:textColor="#aa66cc"/>
// Declare the spinner
Spinner feedbackSpinner = (Spinner) findViewById(R.id.SpinnerFeedbackType);
// Set the custom layout to the array adapter, and send your array feedbacktypelist with the data
ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.feedbacktypelist, R.layout.spinner_item);
// Set the custom layout for the drop down items.
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
feedbackSpinner.setAdapter(adapter);
结果如下:
基本上就是这样。
答案的来源。 How to change a Spinner text size, color or overall style
希望这会对你有所帮助。
答案 1 :(得分:1)
可以尝试以下代码:
在 styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MooTheme" parent="android:Theme">
<item name="android:spinnerItemStyle">@style/MooSpinnerItem</item>
</style>
<style name="MooSpinnerItem" parent="android:Widget.TextView.SpinnerItem">
<item name="android:textAppearance">@style/MooTextAppearanceSpinnerItem</item>
</style>
<style name="MooTextAppearanceSpinnerItem" parent="android:TextAppearance.Widget.TextView.SpinnerItem">
<item name="android:textColor">#F00</item>
</style>
</resources>
然后将其添加到AndroidManifest.xml中的应用程序标记
android:theme="@style/MooTheme"