用不同的背景颜色的锭床工人

时间:2012-12-25 13:27:42

标签: android colors spinner

我是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" />

1 个答案:

答案 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;
  }
};