2012-10-26 52 views
8

我想以编程方式使用ArrayAdapter创建微调器。这是在一个封闭的源代码jar中作为Android库项目的一部分完成的,我没有任何资源访问权限。以编程方式安装微调器和阵列适配器

我想知道如何自定义布局和显示微调框的文本视图。

- 编辑 -
目前我使用下面的代码

ArrayAdapter<T> spinnerData = new ArrayAdapter<T>(this, Android.R.layout.simple_spinner_item, T[]); 

spinner.setAdapter(spinnerData); 

正在发生的事情是我无法控制的字体,颜色或其他任何的大小。当我点击微调选择一些东西时,所有的选项都是非常小的文字。我希望能够改变它在屏幕上呈现的方式。

+1

请你更加清晰.. ??? –

回答

14

只需创建一个自定义的ArrayAdapter和定义微调TextView的应该是什么样子的适配器

public class CustomizedSpinnerAdapter extends ArrayAdapter<String> { 

private Activity context; 
String[] data = null; 

public CustomizedSpinnerAdapter(Activity context, int resource, String[] data2) 
{ 
    super(context, resource, data2); 
    this.context = context; 
    this.data = data2; 
} 
    ... 

@Override 
public View getDropDownView(int position, View convertView, ViewGroup parent) 
{ 
    View row = convertView; 
    if(row == null) 
    { 
     //inflate your customlayout for the textview 
     LayoutInflater inflater = context.getLayoutInflater(); 
     row = inflater.inflate(R.layout.spinner_layout, parent, false); 
    } 
    //put the data in it 
    String item = data[position]; 
    if(item != null) 
    { 
     TextView text1 = (TextView) row.findViewById(R.id.rowText); 
     text1.setTextColor(Color.WHITE); 
     text1.setText(item); 
    } 

    return row; 
} 
... 
} 

的是getDropDownView方法和设置该适配器微调

Spinner mySpinner = (Spinner) findViewById(R.id.mySpinner); 
final String[] data = getResources().getStringArray(
      R.array.data); 
final ArrayAdapter<String> adapter1 = new CustomizedSpinnerAdapter(
      AddSlaveActivity.this, android.R.layout.simple_spinner_item, 
      data); 
mySpinner.setAdapter(adapter1); 
+0

谢谢。他们有什么“好看”的默认设置可以使用? – kapad

+1

你可以从android文件夹jst的/ platforms/android-13/data/res/drawable-hdpi中取任何东西来检查 – user936414

+0

我无法使用资源,因为显示微调的活动位于android库项目的封闭源代码jar中。是否有任何可以使用的android.R类中的视图/布局。 – kapad

相关问题