首页 > 解决方案 > 在我的 android 应用程序中 Font Acme 在 xml 中完美显示,但在我运行应用程序时无法正常工作

问题描述

我正在尝试在 android 中使用 font-family acme。虽然它在我的 XML 预览中看起来不错,但是当我运行应用程序时,它在我的应用程序中不起作用。

当我使用草书字体时,它工作正常。我没有在我的 java 文件中以编程方式添加任何字体。

在实施它时我有什么遗漏吗?

我的 XML 代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="horizontal"
    android:id="@+id/container"
    android:background="@drawable/login_gradient"
    android:scrollbarAlwaysDrawVerticalTrack="true">


    <TextView
        android:id="@+id/appname"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:layout_marginBottom="2dp"
        android:fontFamily="@font/acme"
        android:gravity="center_horizontal"
        android:text="@string/company"
        android:textColor="@color/lightgray"
        
        
        android:textSize="@dimen/_15sdp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/company"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/appname"
        android:layout_centerHorizontal="true"
        android:fontFamily="cursive"
        android:textSize="15sp"
        android:textStyle="bold"
        android:visibility="gone"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textColor="@android:color/black" />


    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/appname"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp"
        android:layout_marginTop="70dp"

        android:elevation="4dp"
        android:textStyle="bold"
        android:orientation="vertical"
        android:padding="20dp">

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingTop="30dp">

            <Spinner
                android:id="@+id/userrole"
                android:layout_width="match_parent"
                android:layout_height="42dp"
                android:ems="8"
                android:focusable="true"
                android:focusableInTouchMode="true"
                android:selectAllOnFocus="true"
                android:soundEffectsEnabled="true"
                android:spinnerMode="dialog"
                android:visibility="gone"
                tools:ignore="RtlSymmetry"

                />


            <EditText
                android:id="@+id/username"

                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:drawableStart="@android:drawable/sym_action_email"
                android:drawableLeft="@android:drawable/sym_action_email"
                android:focusable="true"

                android:fontFamily="@font/acme"
                android:hint="@string/user_id"
                android:inputType="text"
                android:singleLine="true"
                android:textAllCaps="true"
                android:textColor="@android:color/background_light"
                android:textColorHint="@android:color/white"
                android:textCursorDrawable="@drawable/custom_edit_text_cursor"
                android:textStyle="bold" />

            <EditText
                android:id="@+id/password"

                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="16dp"
                android:drawableStart="@android:drawable/ic_lock_idle_lock"
                android:drawableLeft="@android:drawable/ic_lock_idle_lock"
                android:fontFamily="@font/acme"
                android:hint="@string/password"
                android:inputType="textPassword"

                android:singleLine="true"
                android:textColor="@android:color/background_light"
                android:textColorHint="@android:color/white"
                android:textCursorDrawable="@drawable/custom_edit_text_cursor" />


            <Button
                android:id="@+id/login"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="8dp"
                android:background="@drawable/default_button"
                android:fontFamily="@font/acme"
                android:text="@string/sign_in"
                android:textAllCaps="false"
                android:textColor="@android:color/background_dark"
                android:textSize="18sp" />

            <Button
                android:id="@+id/changepassword"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="8dp"
                android:layout_marginRight="8dp"
                android:background="@drawable/default_button"
                android:fontFamily="@font/acme"
                android:text="@string/change_password"
                android:textAllCaps="false"
                android:textColor="@color/darkblue"
                android:textSize="18sp" />

            <Button
                android:id="@+id/exit"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="8dp"
                android:layout_marginRight="8dp"
                android:layout_marginTop="8dp"
                android:background="@drawable/default_button"
                android:fontFamily="cursive"
                android:text="@string/exit_app"
                android:textAllCaps="false"
                android:textColor="@android:color/black"
                android:visibility="gone"
                android:textSize="18sp" />
            <Button
                android:id="@+id/exit2"
                style="?android:attr/buttonStyleSmall"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:layout_marginStart="23dp"
                android:background="@drawable/cross"
                android:visibility="gone"
                android:layout_marginLeft="23dp" />





        </LinearLayout>
    </RelativeLayout>

    <ImageButton
        android:id="@+id/user_profile_photo"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_below="@+id/appname"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="16dp"
        android:background="@drawable/vector"
        android:visibility="gone"
        android:elevation="4dp"
        android:contentDescription="@string/todo" />


    <RelativeLayout
        android:id="@+id/buttonlayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="60dp"
        android:orientation="horizontal"
        android:weightSum="90"
        android:layout_alignParentBottom="true"
        >

        <Button
            android:id="@+id/settings"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_alignParentEnd="true"
            android:layout_alignParentTop="true"
            android:background="@drawable/settings"
            android:visibility="gone"
            android:layout_alignParentRight="true" />


        <Button
            android:id="@+id/share"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:background="@drawable/add_button_selector"
            android:focusable="true"
            android:gravity="center"
            android:hapticFeedbackEnabled="true"
            android:soundEffectsEnabled="true"
            android:text=""
            android:textColor="#fff"
            android:textSize="25sp"
            android:visibility="gone"
            tools:ignore="HardcodedText,UnusedAttribute" />

        <TextView
            android:id="@+id/versionname"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:focusable="true"
            android:fontFamily="@font/acme"
            android:gravity="center"
            android:hapticFeedbackEnabled="true"
            android:soundEffectsEnabled="true"
            android:text="Version 12.0.3"
            android:textColor="#fff"
            android:textSize="18sp"
            android:textStyle="bold"
            android:visibility="visible"
            tools:ignore="HardcodedText,UnusedAttribute" />


        <TextView
            android:id="@+id/sim"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="42dp"
            android:ems="10"
            android:gravity="center"
            android:inputType="textMultiLine"
            android:textColor="@android:color/white"
            android:visibility="gone" />

        <TextView
            android:id="@+id/simtext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="19dp"
            android:ems="10"
            android:gravity="center"
            android:inputType="textMultiLine"
            android:text="@string/currently_you_are_using"
            android:textColor="@android:color/primary_text_light"
            android:visibility="gone" />


    </RelativeLayout>


</RelativeLayout>

标签: androidfonts

解决方案


  1. 确保您在font文件夹下有文件res夹,并且它包含您正在使用的字体。

  2. 换行

android:fontFamily="cursive"android:fontFamily="@font/cursive"

  1. 检查您是否有粗体版本的acme字体,因为您正在调用 android:textStyle="bold"每个textView

如果您没有粗体版本,请删除android:textStyle="bold"并尝试运行应用程序


推荐阅读