私のアプリでは、異なるフォント スタイルを含むスピナーを表示しています。たとえば、フォント名が US DNealian の場合、同じ書体で表示されるはずです。view.setTypeface(tf) で特定のビューの書体を設定する方法は知っていますが、配列 arr_fonts を使用して ArrayList を埋めており、その ArrayList がスピナーのアダプタを埋めます。以下は、私が使用しているコードスニペットです。
-> 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)"};
->アダプタを埋めるためのArraylist
ARRLIST_FONTS = new ArrayList<String>(Arrays.asList(arr_fonts));
プライベートボイド 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 があります。しかし、スピナーの各アイテムの書体を個別に変更する方法がわかりません。
誰でも同じこと、リンク、または良いチュートリアルを提案できますか。
ありがとう。