gpt4 book ai didi

android - 显示具有不同字体的数据项的 Spinner

转载 作者:太空狗 更新时间:2023-10-29 12:49:33 25 4
gpt4 key购买 nike

在我的应用程序中,我显示了一个包含不同字体样式的微调器,例如如果字体名称是 US DNealian,那么它也应该以相同的字体显示。我知道如何通过 view.setTypeface(tf) 设置特定 View 的字体,但我使用数组 arr_fonts 来填充 ArrayList 并且 ArrayList 将填充微调器的适配器。下面是我正在使用的代码 fragment 。

-> 填充ArrayList的字符串数组

private String arr_fonts[] = {"US: D'Nealian", "US: D'Nealian Cursive", "US: Zaner-Bloser", "US: Zaner-Bloser Cursive",
"Aus: NSW/ACT", "Aus: NSW/ACT Cursive", "Aus: Qld Beginners", "Aus: Qld Cursive", "Aus: SA Beginners", "Aus: SA Cursive",
"Aus: Tas Beginners", "Aus: Tas Cursive", "Aus: Vic/NT/WA", "Aus: Vic/NT/WA Cursive", "WA Sassoon", "WA Sassoon Infant",
"NZ Beginners","UK Beginners", "UK Cursive", "Century Gothic (HWT)"};

->填充适配器的数组列表

ARRLIST_FONTS = new ArrayList<String>(Arrays.asList(arr_fonts));

私有(private)无效 set_font_name_Adapter() {

    sp_fonts = (Spinner)findViewById(R.id.spFont);

font_name_Adapter= new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,ARRLIST_FONTS)
{
public View getView(int position, View convertView,ViewGroup parent) {
View v = super.getView(position, convertView, parent);
((TextView) v).setTextSize(12);
((TextView) v).setTextColor(Color.WHITE);
return v;
}

};

        font_name_Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

sp_fonts.setAdapter(font_name_Adapter);

sp_fonts.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {

font = ARRLIST_FONTS.get(arg2);

}


System.out.println("Selected item is ................."+font);

}

@Override
public void onNothingSelected(AdapterView<?> arg0) {


}
});

}

我的所有字体名称都是 .ttf。但我不知道如何单独更改微调器中每个项目的字体。

任何人都可以建议任何东西或任何链接或好的教程。

谢谢。

enter image description here

最佳答案

尝试为微调器中的所有 TextView 设置自定义字体:

Typeface typeface;
font_name_Adapter= new ArrayAdapter<String>
(this,android.R.layout.simple_spinner_item,ARRLIST_FONTS)
{
public View getView(int position, View convertView,ViewGroup parent) {
View v = super.getView(position, convertView, parent);
((TextView) v).setTextSize(12);
((TextView) v).setTextColor(Color.WHITE);

if(position<=ARRLIST_FONTS.size()){
typeface =
Typeface.createFromAsset(Your_Current_Activity.this.getAssets(),
"fonts/yourfontname.ttf");
((TextView) v).setTypeface(typeface);
}

return v;
}

关于android - 显示具有不同字体的数据项的 Spinner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13971516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com