android - Activity 开始时黑屏 5-10 秒

标签 android android-studio libraries rich-text-editor

我正在使用 Rich edit 文本库在 Android 上的编辑文本中创建 HTML。这是该项目的 GitHub 链接。

Android-RTEditor

根据演示,我在 Activity 启动时注册了 RTApi 和 RTManager,但它增加了几秒钟的延迟,并在启动时出现黑色空白屏幕。注册代码是

RTApi rtApi = new RTApi(this, new RTProxyImpl(this), new RTMediaFactoryImpl(this, true));
RTManager rtManager = new RTManager(rtApi, savedInstanceState);

这是 Activity 开始时的 logcat

E/AssetIndex: assets.index
E/AssetIndex: java.io.FileNotFoundException: assets.index
E/AssetIndex:     at android.content.res.AssetManager.openAsset(Native Method)
E/AssetIndex:    at android.content.res.AssetManager.open(AssetManager.java:334)
E/AssetIndex:    at android.content.res.AssetManager.open(AssetManager.java:308)
E/AssetIndex: at com.onegravity.rteditor.fonts.AssetIndex.getAssetIndex(AssetIndex.java:46)
E/AssetIndex: at com.onegravity.rteditor.fonts.FontManager.getAssetFonts(FontManager.java:156)
E/AssetIndex:     at com.onegravity.rteditor.fonts.FontManager.getFonts(FontManager.java:97)
E/AssetIndex:     at com.onegravity.rteditor.toolbar.HorizontalRTToolbar.getFontItems(HorizontalRTToolbar.java:213)
E/AssetIndex:     at com.onegravity.rteditor.toolbar.HorizontalRTToolbar.onFinishInflate(HorizontalRTToolbar.java:177)
E/AssetIndex:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:814)
E/AssetIndex:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
E/AssetIndex:     at android.view.LayoutInflater.parseInclude(LayoutInflater.java:916)
E/AssetIndex:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:802)
 E/AssetIndex:     at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
E/AssetIndex:     at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
E/AssetIndex:     at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
E/AssetIndex:     at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:257)
E/AssetIndex:     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109)
E/AssetIndex:     at com.workmatec.apps.androidapp.UIElements.AppFormActivity.onCreate(AppFormActivity.java:91)
E/AssetIndex:     at android.app.Activity.performCreate(Activity.java:6020)
E/AssetIndex:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
E/AssetIndex:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2259)
E/AssetIndex:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2368)
E/AssetIndex:     at android.app.ActivityThread.access$800(ActivityThread.java:149)
E/AssetIndex:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1284)
E/AssetIndex:     at android.os.Handler.dispatchMessage(Handler.java:102)
E/AssetIndex:     at android.os.Looper.loop(Looper.java:135)
E/AssetIndex:     at android.app.ActivityThread.main(ActivityThread.java:5299)
E/AssetIndex:     at java.lang.reflect.Method.invoke(Native Method)
E/AssetIndex:     at java.lang.reflect.Method.invoke(Method.java:372)
E/AssetIndex:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908)
E/AssetIndex:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)
E/Minikin: addFont failed to create font /system/fonts/jb

这是我的布局文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.workmatec.apps.androidapp.UIElements.AppFormActivity">

<include
    android:id="@+id/rte_toolbar_container"
    layout="@layout/rte_toolbar" />

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@id/rte_toolbar_container">

    <LinearLayout
        android:id="@+id/appForm"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/app_background"
        android:orientation="vertical"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin">

    </LinearLayout>
</ScrollView>

RTE_toolbar.xml 的 XML

    <?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:background="?attr/actionBarItemBackground"
    android:scrollbarStyle="outsideOverlay" >

    <com.onegravity.rteditor.toolbar.HorizontalRTToolbar
        android:id="@+id/rte_toolbar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="?attr/actionBarItemBackground"
        android:orientation="horizontal" >

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_bold"
            style="@style/RTE_ToolbarButton"
            android:background="?attr/rte_icToolbarBold" />

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_italic"
            style="@style/RTE_ToolbarButton"
            android:background="?attr/rte_icToolbarItalic" />

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_underline"
            style="@style/RTE_ToolbarButton"
            android:background="?attr/rte_icToolbarUnderline" />

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_strikethrough"
            style="@style/RTE_ToolbarButton"
            android:background="?attr/rte_icToolbarStrikethrough" />

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_superscript"
            style="@style/RTE_ToolbarButton"
            android:background="?attr/rte_icToolbarSuperscript" />

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_subscript"
            style="@style/RTE_ToolbarButton"
            android:background="?attr/rte_icToolbarSubscript" />

        <include layout="@layout/rte_toolbar_divider"/>

        <Spinner
            android:id="@+id/toolbar_font"
            style="?attr/rte_ToolbarSpinner"
            android:background="?attr/rte_icToolbarFont" />

        <Spinner
            android:id="@+id/toolbar_fontsize"
            style="?attr/rte_ToolbarSpinner"
            android:background="?attr/rte_icToolbarFontSize" />

        <Spinner
            android:id="@+id/toolbar_fontcolor"
            style="?attr/rte_ToolbarSpinner"
            android:background="?attr/rte_icToolbarFontColor" />

        <Spinner
            android:id="@+id/toolbar_bgcolor"
            style="?attr/rte_ToolbarSpinner"
            android:background="?attr/rte_icToolbarBGColor" />

        <include layout="@layout/rte_toolbar_divider"/>

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_number"
            style="@style/RTE_ToolbarButton"
            android:background="?attr/rte_icToolbarNumber" />

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_bullet"
            style="@style/RTE_ToolbarButton"
            android:background="?attr/rte_icToolbarBullet" />

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_inc_indent"
            style="@style/RTE_ToolbarButton"
            android:background="?attr/rte_icToolbarIncIndent" />

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_dec_indent"
            style="@style/RTE_ToolbarButton"
            android:background="?attr/rte_icToolbarDecIntent" />

        <include layout="@layout/rte_toolbar_divider"/>

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_align_left"
            style="@style/RTE_ToolbarButton"
            android:background="?attr/rte_icToolbarAlignLeft" />

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_align_center"
            style="@style/RTE_ToolbarButton"
            android:background="?attr/rte_icToolbarAlignCenter" />

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_align_right"
            style="@style/RTE_ToolbarButton"
            android:background="?attr/rte_icToolbarAlignRight" />

        <include layout="@layout/rte_toolbar_divider"/>

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_link"
            style="@style/RTE_ToolbarButton"
            android:background="?attr/rte_icToolbarLink" />

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_image"
            style="@style/RTE_ToolbarButton"
            android:background="?attr/rte_icToolbarImage" />

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_image_capture"
            style="@style/RTE_ToolbarButton"
            android:background="?attr/rte_icToolbarCapture" />

        <!-- com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_audio"
            style="@style/ToolbarButton"
            android:background="?attr/rte_icToolbarAudio" /-->

        <!-- com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_video"
            style="@style/ToolbarButton"
            android:layout_marginRight="4dip"
            android:background="?attr/rte_icToolbarVideo" /-->

        <include layout="@layout/rte_toolbar_divider"/>

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_undo"
            style="@style/RTE_ToolbarButton"
            android:background="?attr/rte_icToolbarUndo"/>

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_redo"
            style="@style/RTE_ToolbarButton"
            android:background="?attr/rte_icToolbarRedo"/>

        <com.onegravity.rteditor.toolbar.RTToolbarImageButton
            android:id="@+id/toolbar_clear"
            style="@style/RTE_ToolbarButton"
            android:layout_marginRight="4dip"
            android:background="?attr/rte_icToolbarClear"/>

    </com.onegravity.rteditor.toolbar.HorizontalRTToolbar>

</HorizontalScrollView>

RTE工具栏按钮样式

<style name="RTE_ToolbarButton" parent="@android:style/Widget.ImageButton">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_gravity">center</item>
    <item name="android:layout_marginTop">4dip</item>
    <item name="android:layout_marginBottom">4dip</item>
    <item name="android:layout_marginLeft">4dip</item>
    <item name="android:gravity">center</item>
    <item name="android:adjustViewBounds">true</item>
</style>

最佳答案

我也遇到了同样的问题。我刚刚将 assets.index 文件添加到我的项目的 Assets 文件夹中。该文件包含以下内容:

<?xml version="1.0"?>
<project default="createAssetIndex">
    <target name="createAssetIndex">
        <fileset id="assets.fileset" dir="assets/" includes="**"
            excludes="asset.index" />
        <pathconvert pathsep="${line.separator}" property="assets"
            refid="assets.fileset">
            <mapper>
                <globmapper from="${basedir}/assets/*" to="*"
                    handledirsep="yes" />
            </mapper>
        </pathconvert>
        <echo file="assets/assets.index">${assets}</echo>
    </target>
</project>

欲了解更多详情,请点击此链接:determine wheteher android asset entry is a file or directory

关于android - Activity 开始时黑屏 5-10 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33803196/

相关文章:

android - OpenGL ES 中的 GPU 分析和回调

android - (Android) D/OkHttp : 400 Bad Request

android - 如何使Android应用程序私有(private)

xml - Android Studio XML 上的 RTL 预览

c++ - 使用发布库时,OpenCV imread(filename) 在 Debug模式下失败

android - 将 APK 复制到 KitKat 上的/system/app 时未安装库

android - 安装apk时不显示权限

Android Studio AVD Manager 在根目录中创建 AVD

android-studio - 自动完成功能在带有 Flutter 的 Android Studio 中无法正常工作 - 第一个建议无关紧要

java - 更新 Android Studio 后构建项目的 classes.jar 中的重复类