我是Android编程的新手。我正在尝试制作一个其项目具有不同背景颜色的微调器,但我找不到任何可理解的信息。你能给我一个详细解释的解决方案吗?
这是我的addcourse类:
public class Addcourse extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.addcourse);
Spinner spinner = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.color_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
}
我在colors.xml中有颜色 我的旋转器:
<Spinner
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
答案 0 :(得分:1)
您需要提供自己的ListAdapter,例如ArrayAdapter的子类,它返回具有背景颜色集的视图。 请参阅此处以获取更改文本颜色的示例:
android change text color of items in spinner
您只需调用super并设置背景颜色并返回该颜色。
ArrayAdapter<CharSequence> adapter = new ArrayAdapter(this, R.array.color_array, android.R.layout.simple_spinner_item) {
public View getDropDownView(int position, View convertView, ViewGroup parent){
View view = super.getDropwDownView(position, convertView, parent);
int color = 0xFFFFFF; //white or use Color.argb(...)
//change color according to position the way you want
view.setBackgroundColor(color);
return view;
}
};