修改控件Spinner内容的字体大小 颜色等属性

来源:互联网 发布:上海银行淘宝金卡年费 编辑:程序博客网 时间:2024/06/05 00:44
在anadroid开发中遇到此问题: 直接定义的Spinner控件,不能调整内容字体的大小,所以常会
因为控件太小,内容太长而使得不能完全显示,各种搜索,找到如下解决方法!希望对遇到同样问题
的朋友们提供帮助!
实现代码如下:

[java] view plaincopyprint?
.public class CustomSpinner extends Activity {  
String[] numbers = { "One", "Two", "Three", "Four", "Five" };  
  
@Override  
public void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.main);  
    Spinner spinner = (Spinner) findViewById(R.id.spinner);  
    SpinnerAdapter adapter = new SpinnerAdapter(this,  
            android.R.layout.simple_spinner_item, numbers);  
    spinner.setAdapter(adapter);  
}  
  
private class SpinnerAdapter extends ArrayAdapter<String> {  
    Context context;  
    String[] items = new String[] {};  
  
   public SpinnerAdapter(final Context context,  
            final int textViewResourceId, final String[] objects) {  
        super(context, textViewResourceId, objects);  
        this.items = objects;  
        this.context = context;  
    }  
  
    @Override  
    public View getDropDownView(int position, View convertView,  
            ViewGroup parent) {  
  
        if (convertView == null) {  
            LayoutInflater inflater = LayoutInflater.from(context);  
            convertView = inflater.inflate(  
                    android.R.layout.simple_spinner_item, parent, false);  
        }  
  
        TextView tv = (TextView) convertView  
                .findViewById(android.R.id.text1);  
        tv.setText(items[position]); 
       tv.setGravity(Gravity.CENTER); 
        tv.setTextColor(Color.BLUE);  
        tv.setTextSize(30);  
        return convertView;  
    }  
  
    @Override  
    public View getView(int position, View convertView, ViewGroup parent) {  
        if (convertView == null) {  
            LayoutInflater inflater = LayoutInflater.from(context);  
            convertView = inflater.inflate(  
                    android.R.layout.simple_spinner_item, parent, false);  
        }  
  
        // android.R.id.text1 is default text view in resource of the android.   
        // android.R.layout.simple_spinner_item is default layout in resources of android.   
  
        TextView tv = (TextView) convertView  
                .findViewById(android.R.id.text1);  
        tv.setText(items[position]); 
       tv.setGravity(Gravity.CENTER); 
        tv.setTextColor(Color.BLUE);  
        tv.setTextSize(30);  
        return convertView;  
    }  
}

转别人的贴,直接用很爽吧.  
1 0