如何设置字体重量轻,在Android中定期

我有3个文本视图。 我需要将自己的体重设置为轻,正常和浓缩。 有人可以帮助我如何在Android中实现这一点?

Solutions Collecting From Web of "如何设置字体重量轻,在Android中定期"

TextView上使用android:textStyle来设置文本样式,如粗体斜体或正常。

下面是一个粗体文本样式的TextView的例子:

 <TextView android:id="@+id/hello_world" android:text="hello world" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textStyle="bold"/> 

如果你想使用光或浓缩,你将不得不改变你的字体。 你可以这样做:

 android:fontFamily="sans-serif-light" 

有关字体的更多信息,请查看以下答案android:fontFamily的有效值以及它们映射的内容?

如果您引用的字体允许这些样式,则只能将TextView显示为Light,Regular和Condensed。

例如,如果您将字体导入到您的项目中,并且它没有Light或Condensed,我不认为在TextView中使用该样式显示文本(我敢说)。 如果您要导入自己的字体,请以编程方式处理它,例如在您的活动中声明全局TextView:

 private TextView tv; 

然后在onCreate()中,引用保存在/ assets中的字体文件:

 Typeface someFontName-condensed = Typeface.createFromAsset(getAssets(), "assets/NameOfFont-condensed.ttf"); tv = (TextView) findViewById(R.id.myTextViewId); tv.setTypeface(someFontName-condensed); 

请注意,我导入了字体文件的压缩版本(如.ttf),而不是打包的字体.ttc。 您可以引入各种样式的字体,但是您应该将它们作为单独的.ttf文件,而不是一个打包的文件,因为您需要引用特定的.ttf样式。

但是,如果您使用的系统字体允许您引用xml中的各种样式,请参阅这里所说的内容:

android:fontFamily的有效值以及它们映射的内容?

正如他们所说,像Roboto这样的东西,你会使用fontFamily。

使用:android:textStyle为你的textview添加样式。

例:

  <TextView android:id="@+id/test" android:text="test" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textStyle="italic"/> 

这将使文字斜体