我想设置不同的字体样式我的'按钮'文本和'编辑文本框'文本,如New Roman,Calibri,Cambria和Georgia。我如何设置不同的字体,例如我想将我的登录按钮文本更改为Calibri字体。我不知道如何设置或导入MS Office或Font文件中的字体。请建议我,谢谢..
我的XML代码
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint=" User Name " />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint=" Password "
android:fontFamily="Tekton Pro Ext"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="Tekton Pro Ext"
android:text=" Login " />
</LinearLayout>
布局
答案 0 :(得分:3)
您需要在项目的资源文件夹下创建字体文件夹,并将TTF放入其中,在主要或活动中,您可以将字体设置为
primary-expression
答案 1 :(得分:1)
也许最好看一下这篇文章,这些文章准确回答了你的想法:
1- How to change fontFamily of TextView in Android
2- How to change the font on the TextView?
总之,你必须做这样的事情: 将字体放在/ fonts目录中的assets文件夹中,然后使用以下代码行:
Button bt = (Button) findViewById(R.id.myButton);
Typeface face = Typeface.createFromAsset(getAssets(),
"fonts/epimodem.ttf");
bt.setTypeface(face);
答案 2 :(得分:0)
以上所有答案都是正确的。如果您想在整个应用中使用不同字体的Button
或TextView
,请执行以下操作。
public class FontsArePriceyTextView extends TextView {
public MyTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setCostlyFont();
}
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
setCostlyFont();
}
public MyTextView(Context context) {
super(context);
setCostlyFont();
}
private void setCostlyFont() {
if (!isInEditMode()) {
Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "filenameofyourfont.ttf");
setTypeface(tf);
}
}
}
然后在您的布局中,将TextView
替换为yourpackagename.FontsArePriceyTextView
。例如
<com.company.projectname.widgets.FontsArePriceyTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Your awesome stylised text" />
你应该好好去。