1

重複の可能性:
アプリケーション全体のフォントサイズをプログラムで変更する方法、Android?

これは私のコードです: FontSize オプションのリストを使用して Spinner を作成しました。FontSize "26" をクリックすると、その特定の FontSize で変更できるはずです。下に EditBox があります。したがって、Fontsize を 40 にして、通常の Bold よりも Italic スタイルでクリックすると、. したがって、この選択した「フォント」で EditBox 内に入力できるはずです: FontSize "40" およびイタリック スタイル。

Androidでプログラムでこれを行うにはどうすればよいですか?

font=new Spinner(con);
option= new String[] {"Select Font Size","8","10","12","14","16","18","20",
                      "22","24","26","28","30","32","34","36","38","40","50"};
ArrayAdapter<String> adapter= new ArrayAdapter<String>(con,android.R.layout.simple_spinner_dropdown_item,option);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

font.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> arg0, View arg1,int position, long id) {
        option[1]="8";
       selectedItem= option[position];
    }
    @Override
    public void onNothingSelected(AdapterView<?> arg0) {
    }
});
4

3 に答える 3

4

変更する

textSizeの使用editText.setTextSize(20)

フォントとスタイルの使用editText.setTypeface(yourTypeFace, Typeface.BOLD)

アップデート

public class MyEditText extends EditText{

public MyEditText(Context context) {
    super(context);
    init();
}

public MyEditText(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    init();
}
public MyEditText(Context context, AttributeSet attrs) {
    super(context, attrs);
    init();
}
void init() {
   this.setTextSize(20);
   this.setTypeface(yourTypeFace, Typeface.BOLD);
}

// method to change font settings
void setFont(TypeFace tf){
   this.setTypeFace(tf);
}
//add whatever method you want
}

次に、使用する代わりにEditTextこのクラスを使用し、XMLで使用することを忘れないでください

<yourpackage.MyEditText
     android:layout_height=".."
     android:layout_width=".."
     ... />
于 2012-10-03T10:09:03.313 に答える
0

考えられる解決策は、TextView を拡張する基本クラスを作成し、このテキスト ビュー クラスを編集テキストとして使用することです。最初の画面でサイズを尋ねていることを願っています。いずれにせよ、基本クラスでテキストサイズを設定します。これで問題は解決します。

パッケージcom.exampleでこのクラスを作成し、クラス名がBaseTextViewのように、代わりにxmlファイルに書き込みます

お役に立てれば。

于 2012-10-03T10:15:20.907 に答える
0

まず、EditBox の ID を取得します。次に、選択したアイテムの位置。それによると、次のような式を作成できます。

public void onItemSelected(AdapterView<?> arg0, View arg1,int position, long id) {
    int p=(8+(pos*2));

    editText.setTextSize(p);
}
于 2012-10-03T10:38:46.100 に答える