ユーザーにフォントのリストを表示し、選択したフォントに従ってテキストビューのテキストを変更したいと考えています。そのためには、利用可能なすべてのフォントファミリにアクセスしてスピナーに表示する必要があり、ユーザーが特定のフォントを選択すると、テキストビューのフォントが変更されます。Androidでフォントリストをユーザーに提供するには? 提案を提供してください
質問する
798 次
2 に答える
1
スピナーにフォント名を追加します。
Spinner fname = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.fname_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
fname.setAdapter(adapter);
fname.setOnItemSelectedListener(new MyOnItemSelectedListener());
R.array.fname_array
フォントリストを保持する場所。また、アプリケーションで外部フォントを使用するには、ttf(font) ファイルを assets フォルダーに配置する必要があります。
public class MyOnItemSelectedListener implements OnItemSelectedListener {
TextView ptext=(TextView) findViewById(R.id.textView3);
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
Integer idpos;
idpos=pos;
if(idpos==0)
{
Typeface font1 = Typeface.createFromAsset(getAssets(),"Molot.otf");
ptext.setTypeface(font1);
}
if(idpos==1)
{
//Toast.makeText(parent.getContext(), "The Font name is " +
//parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
Typeface font1 = Typeface.createFromAsset(getAssets(),"MTCORSVA.TTF");
ptext.setTypeface(font1);
}
if(idpos==2)
{
Typeface font1 = Typeface.createFromAsset(getAssets(),"TIMES.TTF");
ptext.setTypeface(font1);
}
ptext.setText(text.getText().toString());
}
public void onNothingSelected(AdapterView parent) {
// Do nothing.
}
}
于 2012-09-04T11:19:40.157 に答える
0
Android では、組み込みのフォントの選択肢は次のとおりです。
- ドロイド・サンズ
- ドロイド・サンズ・モノ
- ドロイドセリフ
.ttf ファイルをコピーして assets フォルダーに配置することで、カスタム フォントを読み込むことができます。カスタム フォントを読み込むには、Typeface のオブジェクトを作成し、それをビューに設定します。
Typeface type = Typeface.createFromAsset(getAssets(),"fonts/arial.ttf");
txtyour.setTypeface(type);
于 2012-09-04T11:22:53.670 に答える