Cas*_*eyB 107
我认为这可能是在styles.xml中的一点点
<style name="Widget.TextView.SpinnerItem">
<item name="android:textAppearance">@style/TextAppearance.Widget.TextView.SpinnerItem</item>
</style>
<style name="Widget.DropDownItem.Spinner">
<item name="android:checkMark">?android:attr/listChoiceIndicatorSingle</item>
</style>
Run Code Online (Sandbox Code Playgroud)
- = EDIT = - 这是结果:
以及它是如何完成的:
<?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>
Run Code Online (Sandbox Code Playgroud)
然后将其添加到AndroidManifest.xml中的应用程序标记中
android:theme="@style/MooTheme"
Run Code Online (Sandbox Code Playgroud)
Blu*_*ell 51
是的凯西B是对的.
这是我设置微调文本颜色的方法,一个简单的例子:
styles.xml
<style name="Theme.NoTitleBar.WithColoredSpinners" parent="@android:style/Theme.NoTitleBar">
<item name="android:spinnerItemStyle">@style/SpinnerItem</item>
<item name="android:spinnerDropDownItemStyle">@style/SpinnerItem.DropDownItem</item>
</style>
<style name="SpinnerItem" parent="@android:style/Widget.TextView.SpinnerItem">
<item name="android:textColor">#00FF00</item>
</style>
<style name="SpinnerItem.DropDownItem" parent="@android:style/Widget.DropDownItem.Spinner">
<item name="android:textColor">#FF0000</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
然后在你的清单中:
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.NoTitleBar.WithColoredSpinners" >
Run Code Online (Sandbox Code Playgroud)
所有微调器外部的文本现在为绿色,下拉列表中的文本将为红色.
saa*_*aad 28
我用另一种简单的技术做到了这一点
从Android res/layout文件夹中复制simple_spinner_item.xml和simple_spinner_dropdown_item.xml,并将它们复制到项目中.
然后修改以下行
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, Android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(Android.R.layout.simple_spinner_dropdown_item);
spinnerSubject.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
如:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, R.layout.simple_spinner_item);
adapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item);
spinnerSubject.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
其余的很简单,您现在可以编辑simple_spinner_item.xml来编辑微调器窗口小部件上一个可见项的外观,并编辑simple_spinner_dropdown_item.xml以更改下拉列表的外观.
例如,我的活动布局包含:
<Spinner
android:id="@+id/mo_spinnerSubject"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:background="@drawable/spinnerset_background" />
Run Code Online (Sandbox Code Playgroud)
而我的simple_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:singleLine="true"
android:textColor="@color/custom_white"
android:textSize="16sp" />
Run Code Online (Sandbox Code Playgroud)
而simple_spinner_dropdown_item.xml看起来像:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:background="@color/custom_black"
android:ellipsize="marquee"
android:singleLine="true"
android:textColor="@color/custom_white" />
Run Code Online (Sandbox Code Playgroud)
Ruk*_*ias 26
你可以在Spinner对象上使用setOnItemSelectedListener,
spinnerObject.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
((TextView)parentView.getChildAt(0)).setTextColor(Color.rgb(249, 249, 249));
// OR ((TextView)parentView.getChildAt(0)).setTextColor(Color.RED);
}
});
Run Code Online (Sandbox Code Playgroud)
Pre*_*ker 11
其实非常简单.我一直在寻找你需要创建样式并设置微调器
首先在Style.xml中创建主题
<style name="spinnerTheme" parent="android:Theme">
<item name="android:textColor">@color/gray_dark</item>
</style>
Run Code Online (Sandbox Code Playgroud)
然后在你设置你的微调器的xml中添加:
android:theme ="@ style/spinnerTheme "
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="50dp"
android:padding="10dp"
android:paddingBottom="5dp"
android:paddingLeft="10dp"
android:layout_span="3"
android:layout_weight="1.3"
android:theme="@style/spinnerTheme"
android:textSize="12sp"
android:spinnerMode="dialog"
android:clickable="false"/>
Run Code Online (Sandbox Code Playgroud)
享受编码
归档时间: |
|
查看次数: |
86866 次 |
最近记录: |