Ich versuche eine SplashScreen
für meine Android Webapp zu implementieren. Allerdings, wenn ich die App laufen, kommt die SplashScreen
eher nach dem MainActivity
Bildschirm, der das Gegenteil von dem ist, was ich erreichen möchte. Ich habe einige Male auf Youtube und Stackoverflow recherchiert, aber es scheint, dass die meisten der Fragen, die ich stieß, den Individuen eigen sind. Das ist mein Code unten. Bitte brauchen Sie Hilfe, um es zu beheben.Wie korrigiere ich den Startbildschirm meines Web App-Begrüßungsbildschirms, um zuerst den Begrüßungsbildschirm anzuzeigen und dann zur Hauptaktivität zu wechseln?
Mein Manifest Datei
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.in10me.jeremy.in10me">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
android:hardwareAccelerated = "true"
<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.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.in10me.HomeActivity"></activity>
</application>
</manifest>
Mein MainActivity Datei
package com.in10me.jeremy.in10me;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import com.in10me.HomeActivity;
public class MainActivity extends AppCompatActivity {
//splash screen time out
private static int SPLASH_TIME_OUT = 4000;
WebView myWebview;
SwipeRefreshLayout swipe;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Handler().postDelayed(new Runnable() {
@Override
public void run(){
Intent homeIntent = new Intent(MainActivity.this, HomeActivity.class);
startActivity(homeIntent);
finish();
}
}, SPLASH_TIME_OUT);
swipe = (SwipeRefreshLayout) findViewById(R.id.swipe);
swipe.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
LoadWeb();
}
});
LoadWeb();
}
public void LoadWeb() {
myWebview = (WebView) findViewById(R.id.myWebview);
WebSettings webSettings = myWebview.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebview.setFocusable(true);
myWebview.setFocusableInTouchMode(true);
myWebview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
//Improve app intern loading response time performance
myWebview.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
myWebview.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
myWebview.getSettings().setAppCacheEnabled(true);
myWebview.getSettings().setDomStorageEnabled(true);
webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
webSettings.setUseWideViewPort(true);
webSettings.setSavePassword(true);
webSettings.setSaveFormData(true);
webSettings.setEnableSmoothTransition(true);
//Webview here
myWebview.loadUrl("http://in10me.com");
swipe.setRefreshing(true);
myWebview.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
myWebview.loadUrl("file:///android_asset/error.html");
}
public void onPageFinished(WebView view, String url){
//Hide Swipe
swipe.setRefreshing(false);
}
});
}
@Override
public void onBackPressed(){
if (myWebview.canGoBack()) {
myWebview.goBack();
} else {
super.onBackPressed();
}
}
}
jetzt wartet es ist nicht für Webansicht das Laden zu beenden ist es nur zu Hause zu bekommen. –