2012-12-19 21 views
2

这里是我的代码如何设置我的微调,我想设置自定义字体,它的项目我的类是扩展活动,我的部分代码是这样的的setType的arrayadapter安卓

Spinner supportSpinner = (Spinner) findViewById(R.id.supportSpinner); 
    ArrayAdapter supportAdapter = new ArrayAdapter(this, 
      android.R.layout.simple_spinner_item,supports); 

    supportSpinner.setAdapter(supportAdapter); 

BTW支持是我的项目我的微调 我想要做这样的事情,但字符串数组列表它不容许

 Typeface type = Typeface.createFromAsset(getAssets(), "comic.ttf"); 
    supportSpinner.setTypeface(type); 

我怎样才能改变我的纺纱textviews字样?

回答

1

而不是使用

android.R.layout.simple_spinner_item 

创建自己的布局,你那么将使用当前代码

Typeface type = Typeface.createFromAsset(getAssets(), "comic.ttf"); 
supportSpinner.setTypeface(type); 

,但把它放在TextView的在您的自定义布局每个微调项

1

而不是使用android.R.layout.simple_spinner_item创建您自己的布局,并且在XML布局编辑器中,您可以选择所需的TypeFace。不需要做任何代码。

+0

我应该添加一个额外的xml文件?没有任何其他方式太多只是一个微调,应该有一个更简单的方法不是吗?创建XML布局的 – albatross

+0

是Android编程的一部分。但是你也可以覆盖适配器调用'View v = super.getView(...)'的'getView()',然后用'v.findViewById(android.R.id ...)找到文本视图... //检查自动完成,如text1',并更改您的代码字体。 – Budius

1

数组适配器::

Typeface typeNormal = Typeface.createFromAsset(getAssets(), "roboto_lite.ttf"); 



timearray = new ArrayAdapter<String>(DetailsActivity.this,R.layout.floorrow,R.id.txt, flor){ 


         public View getView(int pos, View convertView, android.view.ViewGroup parent) { 


           View v = convertView; 
           if(v== null){ 
            LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
            v=vi.inflate(R.layout.floorrow, null); 
           } 
           TextView tv = (TextView)v.findViewById(R.id.txt); 
           tv.setText(flor.get(pos)); 
           tv.setTypeface(typeNormal); 

           return v; 


         }; 




        }; 


        lv_building.setAdapter(timearray);