Java (Android)更改微调器子视图的文本大小

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

我使用以下代码访问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_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));