React-native Android Splashscreen - Пользовательские шрифты - PullRequest
0 голосов
/ 09 октября 2018

Я создал заставку для своего собственного приложения, и мне нужно реализовать TextView с пользовательскими шрифтами.Я создал макет Android специально для заставки с помощью res / layout / launch_screen.xml, и TextViews появляется, но без пользовательских шрифтов, а затем запускаю его в файле splashActivity.Но это странно, потому что, когда я внедряю макет непосредственно в файл mainActivity, кажется, что шрифты загружены.Так что я думаю, что это из-за пути шрифтов в файле SplashActivity, но код вроде бы в порядке.

Вот файлы:

SplashActivity.js:


    package com.app;

    import android.content.Intent;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.widget.TextView;
    import android.graphics.Typeface;
    import android.content.res.AssetManager;

    public class SplashActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.launch_screen);

            TextView txt_1 = (TextView) findViewById(R.id.din_bold);
            Typeface font_1 = Typeface.createFromAsset(getAssets(), "fonts/DinCondBold.otf");
            txt_1.setTypeface(font_1);

            TextView txt_2 = (TextView) findViewById(R.id.din_light);
            Typeface font_2 = Typeface.createFromAsset(getAssets(), "fonts/DinCondLight.otf");
            txt_2.setTypeface(font_2);

            Intent intent = new Intent(this, MainActivity.class);
            startActivity(intent);
            finish();

        }
    }

MainActivity.js


    package com.app;

    import android.app.Activity;
    import com.facebook.react.ReactActivity;
    import android.os.Bundle;
    import org.devio.rn.splashscreen.SplashScreen;

    public class MainActivity extends ReactActivity {
        @Override
          protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            SplashScreen.show(this, R.style.SplashScreenTheme);

          }
        /**
         * Returns the name of the main component registered from JavaScript.
         * This is used to schedule rendering of the component.
         */
        @Override
        protected String getMainComponentName() {
            return "app";
        }
    }

И launch_screen.xml

<LinearLayout 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:background="@drawable/background"
    android:gravity="center"
    android:orientation="vertical"
    tools:context="com.mitsu.MainActivity">

    <TextView
        android:id="@+id/din_bold"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="SCAN PRODUITS"
        android:textColor="#eb212e"
        android:textSize="36sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/din_light"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="BIENVENUE"
        android:textColor="#717171"
        android:textSize="36sp" />

    <ImageView
        android:layout_width="180dp"
        android:layout_height="180dp"
        android:layout_marginTop="14dp"
        android:src="@drawable/splash_logo" />

</LinearLayout>

Кто-нибудь знает, что происходит?

...