簡體   English   中英

更改微調器項目中的字體

[英]change font in spinner items

我有ArrayAdapter具有微調項的字符串

如何實用地更改代碼

注意:我知道我應該重寫並實現View .. etc,但我需要更多詳細信息:

  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);   

在您的適配器中嘗試這樣的操作:

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;
     }
};

創建陣列適配器時,您要傳遞“ android.R.layout.simple_spinner”。 這是微調器中每個詳圖線的默認布局。 您需要為此提供自己的文本視圖版本。 然后,您可以在textview上指定“ textSize”屬性,並使其具有所需的任意大小。

查看“ android.R.layout.simple_spinner”以查看您可以進行哪些其他更改。 您甚至可以將該文件復制到布局目錄中,並將其用作更改的起點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM