2016-01-27 34 views
13

Làm thế nào để thiết lập một màn hình giật gân cho android bản địa phản ứng, tôi không thể tìm thấy bất cứ điều gì về chủ đề và tôi nghĩ rằng đó là lẻ.Làm thế nào để thiết lập màn hình giật gân cho android phản ứng bản địa

Cảm ơn

+0

Dưới đây là câu trả lời về câu hỏi của bạn http://stackoverflow.com/a/39298315/277345 –

+1

Có thể trùng lặp của [Làm thế nào để tạo ra một số loại màn hình Splash/Launching, mà biến mất sau khi tải App? (React Native)] (http://stackoverflow.com/questions/33390013/how-to-create-some-kind-of-splash-screen-launching-screen-which-disappears-afte) –

Trả lời

20

Tôi đã thử 3 trong các cách sau. Người đầu tiên là những gì tôi hiện đang sử dụng cho màn hình giật gân android cho các dự án phản ứng bản địa.

  1. Sử dụng gói npm được viết bởi người khác.

    tham khảo: https://github.com/remobile/react-native-splashscreen

  2. Tạo một thành phần SplashScreen và chuyển hướng sau đó.

    tham khảo: How to create some kind of Splash screen/Launching screen, which disappears after App loaded? (React Native)

  3. tự nhiên trong java mã.

    tham khảo: https://www.bignerdranch.com/blog/splash-screens-the-right-way/

Tôi có một yêu cầu fetch trong componentDidMount() của initialRoute.

Sử dụng cách đầu tiên từ danh sách ở trên thực hiện yêu cầu trong khi hiển thị màn hình giật gân.

Trong khi đó, cách thứ hai, cần phải chờ cho đến khi thành phần SplashScreen được bỏ gắn kết.

Cách thứ ba là nhiều mã hơn để viết và duy trì.

+1

Làm cách nào để thêm Video Màn hình Splash trong Android – Lavaraju

1

Hướng dẫn này ở đây hoạt động tuyệt vời:

https://medium.com/react-native-development/change-splash-screen-in-react-native-android-app-74e6622d699

  1. Bạn cần phải tạo màn hình splash trong res/drawable. Hãy gọi nó là splash_screen.xml

    <?xml version="1.0" encoding="utf-8"?> 
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    
        <item 
         android:drawable="@android:color/white"/> 
    
        <item> 
         <bitmap 
          android:gravity="center" 
          android:src="@mipmap/ic_launcher"/> 
        </item> 
    
    </layer-list> 
    
  2. Bây giờ bạn cần phải cập nhật res/values ​​/ styles.xml

    <resources> 
    
        <!-- Base application theme. --> 
        <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
         <!-- Customize your theme here. --> 
        </style> 
    
    <style name="SplashTheme" parent="AppTheme"> 
         <item name="android:windowBackground">@drawable/splash_screen</item> 
        </style> 
    
    </resources> 
    
  3. Bây giờ mở AndroidManifest.xml và thay thế AppTheme với SplashTheme trong MainActivity

    <activity 
         android:name=".MainActivity" 
         android:label="@string/app_name" 
         android:theme="@style/SplashTheme" 
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"> 
         <intent-filter> 
          <action android:name="android.intent.action.MAIN" /> 
          <category android:name="android.intent.category.LAUNCHER" /> 
         </intent-filter> 
    </activity> 
    

    Chúng tôi sử dụng SplashTheme thay vì cập nhật AppTheme, để thêm nền này chỉ để bắt đầu hoạt động và thoát khỏi stuf khác f không có thay đổi.

  4. Đừng quên đặt nền cho chế độ xem gốc của bạn. Điều này cần vì màn hình Splash luôn ở dưới chế độ xem js của bạn. Vì vậy, nếu không thiết lập nền nó sẽ được hiển thị.

0

Bạn đã cố gắng sử dụng this? Tôi đã gặp chuyện này vài ngày trước.Hoạt động tốt trên iOS nhưng tôi chưa thử nghiệm trên Android. Bạn nên có nút> = 6 và imageMagic được cài đặt. (Cho mac: brew install imagemagic)

npm install -g yo generator-rn-toolbox 
yo rn-toolbox:assets --splash IMGAE --android 
Các vấn đề liên quan