2013-02-28 42 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