用于自定义字体的Android微调器

用于自定义字体的Android微调器,android,android-spinner,Android,Android Spinner,我遇到了一个问题,我想在下面的代码中为android spinner添加自定义字体。我已经尝试过ArrayAdapter,但还不能成功。谢谢 private void loadSpinner() { List<String> list = new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add

我遇到了一个问题,我想在下面的代码中为android spinner添加自定义字体。我已经尝试过ArrayAdapter,但还不能成功。谢谢

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) {
            }
        });        
    }
private void loadSpinner(){
列表=新的ArrayList();
列表。添加(“1”);
列表。添加(“2”);
列表。添加(“3”);
列表。添加(“4”);
列表。添加(“5”);
列表。添加(“6”);
列表。添加(“7”);
列表。添加(“8”);
列表。添加(“9”);
ArrayAdapter dataAdapter=新的ArrayAdapter(这是android.R.layout.simple\u微调器\u项,列表);
dataAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉项);
cmbStage.setAdapter(数据适配器);
cmbStage.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
已选择公共位置(AdapterView父项、视图、整数位置、长id){
Object item=parent.getItemIdAtPosition(pos+1);
currentID=Integer.parseInt(item.toString());
}
未选择公共无效(AdapterView父级){
}
});        
}

您可以通过自己定制的
SpinnerAdapter
、在
getView()
getDropDownView()中应用字体


选中此项并为Textview应用自定义字体在上面的示例中,上面的编码中,下拉文本无法更改。我不明白您的意思…是否要动态更改项目文本?否。。我想将字体字体更改为其他字体,而不是android系统默认字体。@ppshein没有任何ex。但在您的adapte类中,您必须只设置getDropDownView(),并将其设置在您设置adapter的类中。
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;
        }