【问题标题】:In Android How to set Text? [duplicate]在Android中如何设置文本? [复制]
【发布时间】:2015-01-27 19:36:06
【问题描述】:

我正在使用 Maven 构建工具开发我的应用程序.. 在我的 assets 文件夹中,我有 fonts/DroidSansFallback.ttf..

而我的 activity_main.xml 是:--

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/bck54"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="99dp"
        android:layout_marginTop="78dp"
        android:text="hello world" />

</RelativeLayout>

而我的 HelloAndroidActivity.java 是:--

public class HelloAndroidActivity extends Activity {

    TextView tv;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        Typeface tf = Typeface.createFromAsset(getAssets(),
                "fonts/DroidSansFallback.ttf");
         tv = (TextView) findViewById(R.id.textView1);
         tv.setTypeface(tf);

    }


}

在这里我想更改我的文本字体..但是应用程序已停止.. 我的 logcat 错误是:--

 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.arijit.patra.love/com.arijit.patra.love.HelloAndroidActivity}: java.lang.RuntimeException: native typeface cannot be made
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2346)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2398)
    at android.app.ActivityThread.access$800(ActivityThread.java:159)

谁能告诉我问题出在哪里??

【问题讨论】:

  • tv.setText("你的文字");
  • 我已经添加了..但它仍然无法正常工作
  • 您是否将字体DroidSansFallback 添加到资产下的字体文件夹中?
  • 您的字体在项目中存储在哪里?
  • @Giru Bhai 是的,亲爱的..在我的问题中我已经说过..它在 asstes/fonts/DroidSansFallback.ttf 下

标签: java android maven


【解决方案1】:

可能是您的字体文件已损坏,这就是您收到此错误消息的原因。 删除该文件并从其他地方再次下载并将其再次放入您的资产文件夹中。

【讨论】:

  • Thnx ..现在它的工作..有没有其他方法可以更改字体 xml..我的意思是 2 说不在运行时..在运行时设置有问题texts..还有其他方法吗?
  • 为此,您需要制作自定义 textView,然后您可以更改 xml 中的字体。请注意,当您在 xml 中添加自定义 textView 时,您看不到字体更改 reflaction ,它仅在运行时显示。
【解决方案2】:

您是在 assets 中创建了一个名为 fonts 的文件夹还是直接放在 assets 文件夹中?如果未创建文件夹,请创建一个文件夹并将您的字体文件放在那里我认为这是错误的..在您的示例中,他没有创建任何字体他直接访问的文件夹,但您正在从字体文件夹访问..

如果不是字体文件夹,则将此行更改为。

Typeface font = Typeface.createFromAsset(getAssets(), "fonts/amal.TTF");

像这样..

Typeface font = Typeface.createFromAsset(getAssets(), "amal.TTF");

它不工作比,

由于某种原因,字体文件已损坏或不受支持。

【讨论】:

    猜你喜欢
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 2019-10-22
    • 1970-01-01
    • 2016-04-04
    • 2018-06-28
    • 1970-01-01
    • 2013-08-10
    相关资源
    最近更新 更多