Chronometer 字体在 android 中没有变化
Chronometer font doesn't change in android
我想在 android.I 中更改我的计时器的字体,已将我的默认字体设置为自定义字体。除了天文钟外,该字体似乎适用于所有地方。我也试过设置 android:fontFamily="@font/myfont"
但它没有用。虽然字体似乎在预览 window 中应用,但当我 运行 我的应用程序在我的设备上时它不会改变。
有克服它的想法吗?
这是我的代码:
<Chronometer
android:fontFamily="@font/linotte_semibold"
android:id="@+id/audio_player_chronometer"
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_below="@+id/frame_layout"
android:textColor="@color/white"
android:layout_margin="5dp"
/>
您可以使用以下方法更改 chronometer 上的字体样式和字体大小
XML
android:typeface="serif"
android:textSize="120dp"
在xml
中可以设置android的默认字体。
JAVA
Typeface font = Typeface.createFromAsset(getAssets(), "fonts/linotte_semibold.ttf");
focus = (Chronometer) findViewById(R.id.chronometer1);
focus.setTypeface(font, Typeface.NORMAL);
focus.setTextSize(120);
重点是计时器。
for custom fonts
将您的 .ttf 文件放入资产文件夹。
在 android studio 中,您必须在 src/main/assets/
下创建资产文件夹
我只是按照这个来给 Android 添加字体
https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html
- 将 .ttf / .otf 文件复制到 "res/font" 文件夹
- 生成带有样式和粗细详细信息的字体资源文件。
- 设置新字体为
android:fontFamily="@font/sample_font"
检查下面的示例代码,比较添加和不添加字体
<!--With Font-->
<Chronometer
android:id="@+id/chronometer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/framelayout"
android:layout_margin="5dp"
android:fontFamily="@font/sample_font"
android:textColor="@android:color/holo_blue_dark"
android:textSize="30sp"
app:layout_constraintBottom_toTopOf="@+id/textView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.502"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/audio_player_chronometer"
app:layout_constraintVertical_bias="0.528" />
<!--Without Font-->
<Chronometer
android:id="@+id/audio_player_chronometer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/framelayout"
android:layout_margin="5dp"
android:textSize="30sp"
android:textColor="@android:color/holo_blue_dark"
app:layout_constraintBottom_toTopOf="@+id/textView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/framelayout" />
<!--sample text-->
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:fontFamily="@font/sample_font"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
截图
您可以从 Google Material
下载字体
- 转到布局编辑器
- Select 你的
view
并查看你右侧的 All Attributes
并找到 fontFamily
- 现在点击
down arrow
,会打开一个window选择字体
找到你想要的字体,也可以搜索并点击ok
您的 Chronometer
看起来会有所不同
这是代码
<Chronometer
android:id="@+id/chronometer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:fontFamily="@font/allan_bold"
android:textColor="@color/colorAccent"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
如果字体没有改变在你的Activity.class
中使用这个
Chronometer chronometer = findViewById(R.id.chronometer);
chronometer.setTypeface(ResourcesCompat.getFont(this, R.font.allan_bold));
//replace allan_bold with your desired font
编辑 1
这是设备中的输出
希望这对您有所帮助!
我想在 android.I 中更改我的计时器的字体,已将我的默认字体设置为自定义字体。除了天文钟外,该字体似乎适用于所有地方。我也试过设置 android:fontFamily="@font/myfont"
但它没有用。虽然字体似乎在预览 window 中应用,但当我 运行 我的应用程序在我的设备上时它不会改变。
有克服它的想法吗?
这是我的代码:
<Chronometer
android:fontFamily="@font/linotte_semibold"
android:id="@+id/audio_player_chronometer"
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_below="@+id/frame_layout"
android:textColor="@color/white"
android:layout_margin="5dp"
/>
您可以使用以下方法更改 chronometer 上的字体样式和字体大小
XML
android:typeface="serif"
android:textSize="120dp"
在xml
中可以设置android的默认字体。
JAVA
Typeface font = Typeface.createFromAsset(getAssets(), "fonts/linotte_semibold.ttf");
focus = (Chronometer) findViewById(R.id.chronometer1);
focus.setTypeface(font, Typeface.NORMAL);
focus.setTextSize(120);
重点是计时器。
for custom fonts
将您的 .ttf 文件放入资产文件夹。
在 android studio 中,您必须在 src/main/assets/
下创建资产文件夹我只是按照这个来给 Android 添加字体 https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html
- 将 .ttf / .otf 文件复制到 "res/font" 文件夹
- 生成带有样式和粗细详细信息的字体资源文件。
- 设置新字体为
android:fontFamily="@font/sample_font"
检查下面的示例代码,比较添加和不添加字体
<!--With Font-->
<Chronometer
android:id="@+id/chronometer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/framelayout"
android:layout_margin="5dp"
android:fontFamily="@font/sample_font"
android:textColor="@android:color/holo_blue_dark"
android:textSize="30sp"
app:layout_constraintBottom_toTopOf="@+id/textView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.502"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/audio_player_chronometer"
app:layout_constraintVertical_bias="0.528" />
<!--Without Font-->
<Chronometer
android:id="@+id/audio_player_chronometer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/framelayout"
android:layout_margin="5dp"
android:textSize="30sp"
android:textColor="@android:color/holo_blue_dark"
app:layout_constraintBottom_toTopOf="@+id/textView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/framelayout" />
<!--sample text-->
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:fontFamily="@font/sample_font"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
截图
您可以从 Google Material
下载字体- 转到布局编辑器
- Select 你的
view
并查看你右侧的All Attributes
并找到fontFamily
- 现在点击
down arrow
,会打开一个window选择字体
找到你想要的字体,也可以搜索并点击
ok
您的
Chronometer
看起来会有所不同
这是代码
<Chronometer
android:id="@+id/chronometer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:fontFamily="@font/allan_bold"
android:textColor="@color/colorAccent"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
如果字体没有改变在你的Activity.class
Chronometer chronometer = findViewById(R.id.chronometer);
chronometer.setTypeface(ResourcesCompat.getFont(this, R.font.allan_bold));
//replace allan_bold with your desired font
编辑 1
这是设备中的输出
希望这对您有所帮助!