我是android的初学者。我可以在Android中更改Textview的字体类型。但我必须在资产文件夹中使用.ttf文件,才能进行这种字体更改。
TextView text = (TextView) layout.findViewById(R.id.text);
text.setText(msg);
Typeface font = Typeface.createFromAsset(getAssets(), "fonts/handsean.ttf");
text.setTypeface(font);
以上代码是我用来更改文本View的字体。但我需要更改单选按钮,Edittext和复选框(我也在我的应用程序中使用)的文本的字体类型。 Plz帮帮我。谢谢你提前。
答案 0 :(得分:6)
是的,你必须遵循你在这里提到的相同代码。这对其他控件也很有用,比如Edittext,CheckBox等。
答案 1 :(得分:5)
所选答案缺少代码,所以这里是:
<强>的EditText 强>
EditText editText = (EditText) layout.findViewById(R.id.edittext);
editText.setText(msg);
Typeface font = Typeface.createFromAsset(getAssets(), "fonts/myfont.ttf");
editText.setTypeface(font);
<强>单选按钮强>
RadioButton radioButton = (RadioButton) layout.findViewById(R.id.radiobutton);
radioButton.setText(msg);
Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "fonts/myfont.ttf");
radioButton.setTypeface(font);
复选框强>
CheckBox checkBox = (CheckBox) layout.findViewById(R.id.checkbox);
checkBox.setText(msg);
Typeface font = Typeface.createFromAsset(getAssets(), "fonts/myfont.ttf");
checkBox.setTypeface(font);
如果您需要为整个应用程序中的多个视图执行此操作,则可能更容易创建EditText
,RadioButton
或CheckBox
的子类。此子类设置字体。以下是CheckBox
的示例。
public class MyCheckBox extends CheckBox {
// Constructors
public MyCheckBox(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
public MyCheckBox(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public MyCheckBox(Context context) {
super(context);
init();
}
// This class requires myfont.ttf to be in the assets/fonts folder
private void init() {
Typeface tf = Typeface.createFromAsset(getContext().getAssets(),
"fonts/myfont.ttf");
setTypeface(tf);
}
}
可以在xml中使用如下:
<com.example.projectname.MyCheckBox
android:id="@+id/checkbox"
android:text="@string/msg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:checked="true"/>
答案 2 :(得分:0)
是的,同样的方法也适用于按钮和单选按钮。
您也可以通过以下简单步骤完成此操作
Button moreBtn = (Button) events.findViewById(R.id.promotion_event_more_btn);
FontUtils.setTypeface(this, moreBtn, Constants.C_FONT);</code><br>Where "Constants.C_FONT" is set to the path of the font file present in the assets folder.
答案 3 :(得分:0)
你也可以在.xml文件中这样做
你可以使用proertiees这样做
android:textSize="20dp"
android:textStyle="bold"
android:textColor="any color"
android:textAppearance="any appearencde"
你可以使用按钮,checbox等等。
你也可以通过代码来做
答案 4 :(得分:0)
确保您的支持库> = 26.0或在项目中使用AndroidX。然后将此行添加到XML视图中
app:fontFamily="@font/myFontFamily"
例如:
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/language_english"
android:text="@string/english"
app:fontFamily="@font/myFontFamily"
/>
如果要使用自定义字体,请阅读官方文档: https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml