更改微调器项目中的字体

时间:2013-02-28 02:21:26

标签: java android android-spinner

我有ArrayAdapter有spinner项的

字符串

如何以实际方式更改代码

注意:我知道我应该覆盖并实现View ..等,但我需要更多细节:

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

2 个答案:

答案 0 :(得分:12)

在你的适配器中试试这样的东西:

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

答案 1 :(得分:0)

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

查看“android.R.layout.simple_spinner”以了解您可以进行哪些其他更改。您甚至可以将该文件复制到布局目录中,并将其用作更改的起点。