Java (Android)更改微调器子视图的文本大小
我使用以下代码访问spinner的子视图,然后更改文本的字体大小。不幸的是,我无法更改文本的大小,同时可以获取微调器子视图的文本。谁能告诉我下面的问题吗Java (Android)更改微调器子视图的文本大小,java,android,spinner,Java,Android,Spinner,我使用以下代码访问spinner的子视图,然后更改文本的字体大小。不幸的是,我无法更改文本的大小,同时可以获取微调器子视图的文本。谁能告诉我下面的问题吗 SpinnerAdapter temp=spinner.getAdapter();//get adapter from spinner TextView text_in_spinner=(TextView)temp.getDropDownView(1, null, null);//get all view at position 1 text
SpinnerAdapter temp=spinner.getAdapter();//get adapter from spinner
TextView text_in_spinner=(TextView)temp.getDropDownView(1, null, null);//get all view at position 1
text_in_spinner.setTextSize(TypedValue.COMPLEX_UNIT_SP,15);//set text size
Log.v("view text",(String)text_in_spinner.getText());//get text
您可以实现自定义适配器:
private static class MySpinnerAdapter implements SpinnerAdapter {
private SpinnerAdapter mAdapter;
public DropDownAdapter(SpinnerAdapter adapter) {
this.mAdapter = adapter;
}
public View getDropDownView(int position, View convertView, ViewGroup parent) {
View v = mAdapter.getDropDownView(position, convertView, parent);
(TextView)v.setTextSize(TypedValue.COMPLEX_UNIT_SP,15);
}
}
所以你改变了
spinner.setAdapter(adapter);
到
另一个选项是为下拉项指定自定义布局。假设您在中使用ArrayAdapter,您可以指定自己的布局资源,而不是android.R.layout.simple\u spinner\u dropdown\u项,这样您就可以在布局xml文件中指定文本大小,而不必手动分配它。我的回答对您有帮助吗?
spinner.setAdapter(new MySpinnerAdapter(adapter));