我不知道如何设置字符串路径

时间:2016-10-03 07:40:35

标签: android fonts assets libraries

我正在使用第三方库进行初始屏幕。我是从https://github.com/ViksaaSkool/AwesomeSplash得到的。我已经按照整个教程,但我在设置字符串路径时遇到错误。它有一条线 " configSplash.setPathSplash(SyncStateContract.Constants.DROID_LOGO); //设置路径字符串"。 Android工作室无法解析DR​​OID_LOGO,我收到错误。我用DATA替换了DROID_LOGO并得到了这个错误。 正如帖子上所建议我写了这段代码。

public class splashex extends AwesomeSplash {

//DO NOT OVERRIDE onCreate()!
//if you need to start some services do it in initSplash()!


@Override
public void initSplash(ConfigSplash configSplash) {

        /* you don't have to override every property */

    //Customize Circular Reveal
    configSplash.setBackgroundColor(R.color.colorPrimary); //any color you want form colors.xml
    configSplash.setAnimCircularRevealDuration(2000); //int ms
    configSplash.setRevealFlagX(Flags.REVEAL_RIGHT);  //or Flags.REVEAL_LEFT
    configSplash.setRevealFlagY(Flags.REVEAL_BOTTOM); //or Flags.REVEAL_TOP

    //Choose LOGO OR PATH; if you don't provide String value for path it's logo by default

    //Customize Logo
    configSplash.setLogoSplash(R.mipmap.ic_launcher); //or any other drawable
    configSplash.setAnimLogoSplashDuration(2000); //int ms
    configSplash.setAnimLogoSplashTechnique(Techniques.Bounce); //choose one form Techniques (ref: https://github.com/daimajia/AndroidViewAnimations)


    //Customize Path
    configSplash.setPathSplash(SyncStateContract.Constants.DROID_LOGO); //set path String(**I am getting error here**)
    //     configSplash.setOriginalHeight(400); //in relation to your svg (path) resource
    configSplash.setOriginalWidth(400); //in relation to your svg (path) resource
    configSplash.setAnimPathStrokeDrawingDuration(3000);
    configSplash.setPathSplashStrokeSize(3); //I advise value be <5
    configSplash.setPathSplashStrokeColor(R.color.colorPrimaryDark); //any color you want form colors.xml
    configSplash.setAnimPathFillingDuration(3000);
    configSplash.setPathSplashFillColor(R.color.colorPrimaryDark); //path object filling color


    //Customize Title
    configSplash.setTitleSplash("My Awesome App");
    configSplash.setTitleTextColor(R.color.colorAccent);
    configSplash.setTitleTextSize(30f); //float value
    configSplash.setAnimTitleDuration(3000);
    configSplash.setAnimTitleTechnique(Techniques.FlipInX);
    configSplash.setTitleFont("fonts/myfont.ttf"); //provide string to your font located in assets/fonts/

}

@Override
public void animationsFinished() {

    //transit to another activity here
    //or do whatever you want
}

}

我得到的错误是

  java.lang.RuntimeException: Font asset not found fonts/myfont.ttf
  at android.graphics.Typeface.createFromAsset(Typeface.java:190)

我搜索了各种链接,所有建议添加资产文件夹,但我不知道在哪里制作资产文件夹以及存储在其中的内容。 请帮助我了解有关资产和字体的所有详细信息。

我仍然得到这个。

added the font folder still i am getting the same error.

3 个答案:

答案 0 :(得分:1)

您必须根据以下路径创建名为 fonts 的文件夹:

your_android_project_folder&gt; app&gt; src&gt;主要&gt;资产&gt;字体

现在,在字体文件夹中,您需要存储 myfont.ttf 文件。

enter image description here

答案 1 :(得分:0)

我遇到了同样的问题,这就是我的解决方法:

  1. 对于缺少的DROID_LOGO,您可以从此处重写该行:

    configSplash.setPathSplash(SyncStateContract.Constants.DROID_LOGO);

对此:

configSplash.setPathSplash(SyncStateContract.Constants.DROID_LOGO);

在这里,请确保将{.3}}中的Constants.java类添加到项目中。

  1. 对于缺少的字体,请转到行

    configSplash.setTitleFont(“ fonts / myfont.ttf”); //为位于资源/字体/

  2. 中的字体提供字符串

,然后将myfont.ttf替换为资产/字体文件夹中存在的另一种字体,例如fonts / diti_sweet.ttf(可以在here存储库中找到),并且一切都可以正常工作

答案 2 :(得分:0)

注释此行:

configSplash.setPathSplash(SyncStateContract.Constants.DROID_LOGO);

并将myfont.ttf重命名为文件夹资产中的字体。