Android 应用中的闪屏:图片未加载

Splashscreen in Android app: image is not loading

我是 android 的初学者。我使用 android studio 创建了一个简单徽标的闪屏(1300x400 像素的 png),当我 运行 它工作时。我用构建函数创建了一个 apk(尝试使用 smartphone),但它没有加载图像(白屏 3 秒,然后应用程序启动)。这是一个 phone 问题(一个简单的 vodafone VFD 600)吗?

这是代码

activity_main.xml

 <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

    </androidx.constraintlayout.widget.ConstraintLayout>

activity_splash_screen.xml

   <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#f1f1f1" >

    <ImageView
    android:id="@+id/logo"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:src="@drawable/logo" />

    <TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="10dp"
    android:textSize="12dp"
    android:textColor="#454545"
    android:gravity="center_horizontal"
    android:layout_alignParentBottom="true"
    android:text="www.codeseasy.com" />

    </RelativeLayout>

SplashSCreen.java

 package com.example.splashscreen;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;

public class SplashScreen extends AppCompatActivity {

@override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash_screen);

new Handler().postDelayed(new Runnable() {
@override public void run() {
Intent i = new Intent(SplashScreen.this, MainActivity.class); startActivity(i);
finish(); } }, 5000);
}}

AndroidManifest.xml

   <?xml version="1.0" encoding="utf-8"?>
        <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.splashscreen">

        <application
        android:allowBackup="true"
        android:icon="@Mipmap/ic_launcher"
        android:label="@String/app_name"
        android:roundIcon="@Mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@Style/AppTheme">
        <activity android:name=".MainActivity">
        <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
        </activity>
        <activity android:name=".SplashScreen"
        android:theme="@Style/Theme.AppCompat.NoActionBar">
        <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        </activity>

        </application>

        </manifest>

MainActivity.kt

package com.example.splashscreen

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}

早上好,我在另一台smartphone,华为p10上试了apk,可以用。此时问题一定出在smartphone。另一个问题:是否可以放置视频而不是图像?显然在视频中不能出现前进,后退,停止键...谢谢。

请您检查一下您的png 尺寸是否很大。因为imageView 通常不喜欢大图像。 如果您仍然想继续,请尝试更改图像分辨率,然后它就可以正常工作。 从这个 post .

检查调整大小的方法

希望对您有所帮助