我想为我正在创建的Android应用程序使用自定义字体.
我可以从Code中单独更改每个对象的字体,但我有数百个.
所以,
我想在Android应用程序中使用自定义字体,但使用自定义字体似乎很痛苦?!我可以通过将其添加到每个TextView - >许多样板代码来以编程方式设置自定义字体.我可以创建一个新类CustomTextView扩展TextView并在构造函数中添加setTypeface - >不再有xml上下文感知属性帮助.
还有另一种设置自定义字体的方法吗?按XML,按风格,按主题?
提前致谢!
PS是否有可能通过XML设置下划线?
我有一个button使用Android小部件创建.我想将按钮文本的字体设置为Helv Neue 67 Med Cond.如何获取此字体并将其设置为android布局文件中的按钮文本?
我在字符串资源中设置TextView中的文本.通常,希伯来语以从右到左的格式运作.当我设置文本时,它在LG,三星,索尼手机中设置文本从右到左格式,但在HTC中它不起作用.它在HTC中以从左到右的格式工作.甚至我将Gravity设置为Java文件中的TextView.
TextView中的文本应根据屏幕大小进行调整.例如,如果它是320 x 480,那么它显示为4行,但如果它是Galaxy Tab,那么可能有2行.
这是我的代码段:
在Java中:
private TextView mVersionInfo, mVersionDescriptionOne, mVersionDescriptionTwo, mVersionDescriptionThree;
mVersionInfo = (TextView)findViewById(R.id.VersionInfo);
mVersionDescriptionOne = (TextView)findViewById(R.id.VersionDesc1);
mVersionDescriptionTwo = (TextView)findViewById(R.id.VersionDesc2);
mVersionDescriptionThree = (TextView)findViewById(R.id.VersionDesc3);
mVersionDescriptionOne.setGravity(Gravity.RIGHT);
mVersionDescriptionTwo.setGravity(Gravity.RIGHT);
mVersionDescriptionThree.setGravity(Gravity.RIGHT);
Run Code Online (Sandbox Code Playgroud)
在XML中:
<TextView android:id="@+id/VersionDesc1"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="@string/versiondesc1" android:textColor="#000000"
android:layout_marginTop="5dip" android:gravity="right"
android:layout_alignParentRight="true" android:layout_marginRight="10dip"
android:layout_below="@+id/Share" android:textSize="13sp"
android:layout_alignRight="@+id/Body" />
<TextView android:id="@+id/VersionDesc2"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="@string/versiondesc2" android:textColor="#000000"
android:layout_alignParentRight="true" android:layout_marginRight="10dip"
android:layout_below="@+id/VersionDesc1" android:textSize="13sp"
android:layout_marginTop="5dip" android:gravity="right"
android:layout_alignRight="@+id/Body" />
<TextView android:id="@+id/VersionDesc3"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="@string/versiondesc3" android:textColor="#000000"
android:layout_alignParentRight="true" android:layout_marginRight="10dip"
android:layout_below="@+id/VersionDesc2" android:textSize="13sp"
android:layout_marginTop="5dip" android:gravity="right"
android:layout_alignRight="@+id/Body" />
Run Code Online (Sandbox Code Playgroud)
在字符串资源中:
<string name="versiondesc1">????????? ?????? ???? ???? ??????? ??? ????? …Run Code Online (Sandbox Code Playgroud) 嗨,我正在写一个Android应用程序.而且无论手机的版本如何,我都想要roboto字体.有办法吗?
谢谢,拉希姆.
如何Open Sans在android中为textview使用字体样式?默认情况下 font-family Open Sans不可用。
可能重复:
Android - 使用自定义字体
我正在创建一个阿拉伯语的应用程序,并有一个我想使用的自定义字体可以有人告诉我我应该在我的java类中使用的代码我试过这个
TextView txt = (TextView) findViewById(R.id.custom_font);
Typeface font = Typeface.createFromAsset(getAssets(), "trado.ttf");
txt.setTypeface(font);
Run Code Online (Sandbox Code Playgroud)
但是结尾行显示字体是一个错误,表示令牌"font"上的语法错误,此令牌后的VariableDeclaratorId可以有人帮忙!
我正在尝试创建一个返回titleFont和contentFont字体的方法,以便通过返回引用和减少代码长度来提高效率.我知道这很简单,但我没有办法.任何人都可以帮忙.或任何其他选择将被赞赏..抱歉英语不好
这是多次运行的方法..
protected void onPostExecute(Article result) {
super.onPostExecute(result);
TextView txtTitle= (TextView) view.findViewById(R.id.title);
txtTitle.setTypeface(titleFont);
txtTitle.setText(result.getTitle());
private Typeface titleFont=Typeface.createFromAsset(context.getAssets(),"fonts/InterstateCondMonoLgt.ttf");
private Typeface contentFont=Typeface.createFromAsset(context.getAssets(),"fonts/InterstateLight.ttf");
TextView txtMain= (TextView) view.findViewById(R.id.main);
txtMain.setTypeface(contentFont);
txtMain.setText(result.getContent());
}
Run Code Online (Sandbox Code Playgroud) 我知道TextView有一个属性被调用fontFamily,我认为你可以通过改变这个属性的值来改变文本的字体.所以我写道:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="my text"
android:fontFamily="OCR A Std"
android:textSize="20pt"/>
Run Code Online (Sandbox Code Playgroud)
然后我运行应用程序,但文本的字体仍然是普通的旧Arial字体.我认为必须有一种方法在android中使用花哨的字体,对吧?
如果我只是不能使用花哨的字体,什么字体(es)android支持?只有Arial是不可能的,对吧?