我想将样式或字体设置为TextView
中的文字,如下图所示:
答案 0 :(得分:11)
您需要自定义字体,然后才能执行此操作:
Typeface mFont = Typeface.createFromAsset(getAssets(), "fonts/myFont.ttf");
MyTextView.setTypeface(mFont);
您必须在资源文件夹中创建“fonts”文件夹。将字体放在那里。
您当然也可以创建自定义TextView
。如果您愿意的话,请参阅this answer,我暂时回过头来看。
答案 1 :(得分:10)
<TextView
style="@style/CodeFont"
android:text="@string/hello" />
你需要制作代码风格:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CodeFont" parent="@android:style/TextAppearance.Medium">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#00FF00</item>
<item name="android:typeface">monospace</item>
</style>
</resources>
直接来自:http://developer.android.com/guide/topics/ui/themes.html
答案 2 :(得分:3)
如果要在许多TextView上更改它,还有另一种方法,使用类:
public class MyTextView extends TextView {
public MyTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public MyTextView(Context context) {
super(context);
init();
}
private void init() {
if (!isInEditMode()) {
Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "fonts/Ubuntu-L.ttf");
setTypeface(tf);
}
}
}
并在布局中替换:
<TextView
...
/>
使用:
<com.WHERE_YOUR_CLASS_IS.MyTextView
...
/>
答案 3 :(得分:0)
您可以创建一个layout.xml文件,其中包含textview。类似的东西:
textView.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
style="@android:style/Holo.ButtonBar" >
如果您不想要这个,那么您可以创建自定义样式。像这样:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Custom" parent="@android:style/TextAppearance.Large" >
<item name="android:typeface">monospace</item>
</style>
</resources>
并在布局文件中将样式更改为:
style="@style/Custom"