Java 更改微调器项目中的字体

Java 更改微调器项目中的字体,java,android,android-spinner,Java,Android,Android Spinner,我有ArrayAdapter有一连串的微调器项目 如何务实地修改代码 注意:我知道我应该重写并实现视图。。等等,但我需要更多细节: Typeface font = Typeface.createFromAsset(getAssets(), "extrafine.ttf"); String array_spinner[]; array_spinner=new String[3]; array_spinner[0]="general"; array_sp

我有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);   
Typeface font=Typeface.createFromAsset(getAssets(),“extrafine.ttf”);
字符串数组_微调器[];
数组_微调器=新字符串[3];
数组_微调器[0]=“常规”;
数组_微调器[1]=“quisiton”;
数组_微调器[2]=“suggsution”;
最终微调器微调器=(微调器)findViewById(R.id.spinner1);
ArrayAdapter SpinnerayAdapter=新的ArrayAdapter(
这个,android.R.layout.simple_微调器(项目,数组微调器);
spinnerrayadapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
spinner.setAdapter(SpinNearrayaAdapter);

创建阵列适配器时,您将传递“android.R.layout.simple\u微调器”。这是微调器中每个详图线的默认布局。您需要提供您自己的文本视图版本。然后,您可以在textview上指定“textSize”属性,并将其设置为任意大小


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

在适配器中尝试以下操作:

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;
     }
};
ArrayAdapter=新的ArrayAdapter(此,
R.layout.spinaca,项目){
公共视图getView(int位置、视图转换视图、视图组父视图){
视图v=super.getView(位置、转换视图、父级);
Typeface externalFont=Typeface.createFromAsset(getAssets(),“fonts/HelveticaNeueLTCom-Lt.ttf”);
设置字体(外部字体);
返回v;
}
公共视图getDropDownView(int位置、视图转换视图、视图组父视图){
视图v=super.getDropDownView(位置、转换视图、父视图);
Typeface externalFont=Typeface.createFromAsset(getAssets(),“fonts/HelveticaNeueLTCom-Lt.ttf”);
设置字体(外部字体);
返回v;
}
};

我的意思是字体自定义类型而不是大小“字体自定义类型”是什么意思?这是一个自定义的字体,还是仅仅是一些类似于更改为粗体的东西?我想使用extrafine.ttf概述了需要最少编程工作量的总体思路。尽管本例处理的是
列表视图
,但同样的基础知识也适用于
微调器
。但是,自定义适配器总是更灵活。是否在代码中导入了视图。尝试在文件中写入此命令-import android.view.view;为此,您必须为微调器编写一个侦听器。