2013-05-07 84 views
2

我得到了問題,我想在以下編碼中爲android微調添加自定義字體。我已經嘗試過使用ArrayAdapter,但尚未成功。謝謝。自定義字體的Android微調

private void loadSpinner() { 
     List<String> list = new ArrayList<String>(); 
     list.add("1"); 
     list.add("2"); 
     list.add("3"); 
     list.add("4"); 
     list.add("5"); 
     list.add("6"); 
     list.add("7"); 
     list.add("8");  
     list.add("9"); 
     ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list); 
     dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     cmbStage.setAdapter(dataAdapter); 
     cmbStage.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
      public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { 
       Object item = parent.getItemIdAtPosition(pos + 1); 
       currentID = Integer.parseInt(item.toString()); 
      } 
      public void onNothingSelected(AdapterView<?> parent) { 
      } 
     });   
    } 
+0

選中此http://stackoverflow.com/questions/15299194/how-to-change-the-在上面的示例中,text-background-color-of-a-opened-spinner-on-android並應用Textview的自定義字體 – Pragnani 2013-05-07 04:27:14

+0

上面的代碼中,無法更改下拉文本。 – ppshein 2013-05-07 04:44:00

+0

我沒有得到你...你想動態改變項目文本嗎? – Pragnani 2013-05-07 04:46:55

回答

3

你會通過自己的自定義SpinnerAdapter應用的字體,在getView()getDropDownView()

public View getView(int position, View convertView, ViewGroup parent) { 

    LayoutInflater inflater = getLayoutInflater(); 
      View row = inflater.inflate(yourRowlayout, parent, 
        false); 
     TextView make = (TextView) row.findViewById(R.id.Make); 
     Typeface myTypeFace = Typeface.createFromAsset(context.getAssets(), 
       "fonts/gilsanslight.otf"); 
     v.setTypeface(myTypeFace); 
     v.setText(itemList.get(position)); 
     return row; 
    } 


public View getDropDownView(int position, View convertView, ViewGroup parent) { 

     LayoutInflater inflater = getLayoutInflater(); 
       View row = inflater.inflate(yourRowlayout, parent, 
         false); 
      TextView make = (TextView) row.findViewById(R.id.Make); 
      Typeface myTypeFace = Typeface.createFromAsset(context.getAssets(), 
        "fonts/gilsanslight.otf"); 
      v.setTypeface(myTypeFace); 
      v.setText(itemList.get(position)); 
      return row; 
     } 
+0

任何示例給我看? – ppshein 2013-05-07 04:54:12

+0

@ppshein沒有任何前。但是在適配器類中,您只需製作getDropDownView()並將其設置在您要設置適配器的類中即可。 – Google 2013-05-07 08:42:34