我正在尝试使用 ArrayAdapter 以编程方式创建 Spinner。这是在一个闭源 jar 中完成的,作为 Android 库项目的一部分,我没有任何资源访问权限。
我想知道如何自定义布局和显示微调器的文本视图。
--EDIT--
目前我正在使用以下代码
ArrayAdapter<T> spinnerData = new ArrayAdapter<T>(this, Android.R.layout.simple_spinner_item, T[]);
spinner.setAdapter(spinnerData);
发生的情况是我无法控制字体的大小、颜色或其他任何东西。当我单击微调器选择某些内容时,所有选项都以非常小的文本显示。我希望能够改变它在屏幕上呈现的方式。
只需创建一个自定义 ArrayAdapter 并定义旋转文本视图在适配器的 getDropDownView 方法中的外观
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;
}
...
}
并将此适配器设置为微调器
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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)