2013-02-28 84 views
0

我有ArrayAdapter有微调项目的改变字体

如何更改代码务实

音符串:我知道我应该重写和实现查看..等,但我需要更多的细节:

Typeface font = Typeface.createFromAsset(getAssets(), "extrafine.ttf"); 



    String array_spinner[]; 
    array_spinner=new String[3]; 
    array_spinner[0]="general"; 
    array_spinner[1]="quisiton"; 
    array_spinner[2]="suggsution"; 

    final Spinner spinner = (Spinner) findViewById(R.id.spinner1); 

     ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
       this, android.R.layout.simple_spinner_item, array_spinner); 
     spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 


     spinner.setAdapter(spinnerArrayAdapter); 
+0

需要最少的编程工作的总体思路概述[这里](http://stackoverflow.com/a/13403769/1029225)。虽然这个例子处理的是一个ListView,但是相同的基础适用于一个Spinner。然而,自定义适配器总是更加灵活。 – 2013-02-28 02:29:45

回答

11

尝试这样的事情在你的适配器:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
       R.layout.spinaca, items) { 

    public View getView(int position, View convertView, ViewGroup parent) { 
      View v = super.getView(position, convertView, parent); 

      Typeface externalFont=Typeface.createFromAsset(getAssets(), "fonts/HelveticaNeueLTCom-Lt.ttf"); 
      ((TextView) v).setTypeface(externalFont); 

      return v; 
    } 


    public View getDropDownView(int position, View convertView, ViewGroup parent) { 
       View v =super.getDropDownView(position, convertView, parent); 

      Typeface externalFont=Typeface.createFromAsset(getAssets(), "fonts/HelveticaNeueLTCom-Lt.ttf"); 
      ((TextView) v).setTypeface(externalFont); 

      return v; 
    } 
}; 
+0

有错误:ViewGroup无法解析为类型 – user1714553 2013-02-28 02:51:04

+0

您在代码中导入了View吗?尝试在文件-import android.view.View中编写此文件; – 2013-02-28 02:53:31

+0

确定工作,但项目不能点击“无操作”。 – user1714553 2013-02-28 02:58:37

0

创建阵列适配器时,传递“android.R.layout.simple_spinner”。这是微调器中每个细节行的默认布局。你需要用textview提供你自己的版本。然后,您可以在文本视图上指定“textSize”属性并将其设置为任意大小。

看看“android.R.layout.simple_spinner”,看看你可以做什么样的其他更改。您甚至可以将该文件复制到布局目录中,并将其用作更改的起点。

+0

我的意思是字体自定义类型不是尺寸 – user1714553 2013-02-28 02:25:55

+0

你是什么意思的“字体自定义类型”?这是一个自定义类型的面孔还是只是改变为粗体? – AndroidGuy 2013-02-28 02:33:46

+0

我想使用extrafine.ttf – user1714553 2013-02-28 02:47:12