2012-12-19 45 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);