我想在android中更改天文钟的字体。我将默认字体设置为自定义字体。字体似乎适用于除天文钟以外的所有位置。我也尝试设置android:fontFamily="@font/myfont"
,但是没有用。虽然该字体似乎是在预览窗口中应用的,但是当我在设备上运行我的应用程序时,字体并没有改变。
有什么办法克服它吗?
这是我的代码:
<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"
/>
答案 0 :(得分:2)
您可以从Google Material下载字体
view
并在右侧查看All Attributes
,然后找到fontFamily
down arrow
,它将打开一个用于选择字体的窗口找到所需的字体,您也可以搜索并单击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 :(得分:1)
我只是按照此步骤将字体添加到Android https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html
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" />
答案 2 :(得分:0)
您可以使用以下命令在天文钟上更改字体样式和字体大小
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);
重点是天文钟。
用于自定义字体
将您的 .ttf 文件放入资产文件夹。
在 android studio 中,您必须在 src / main / assets /
下创建资产文件夹