2016-11-27 9 views
0

かなり新しいアンドロイドスタジオですが、私のWebViewが読み込みに時間がかかりすぎるので、4秒間スプラッシュスクリーンを作成して読み込みをカバーする予定ですこのスプラッシュ画面を使用してしかし、私は実際にそれが重複するようにする方法を知っていないので、WebViewはスプラッシュスクリーンの後ろにロードすることができます。 私のスプラッシュ画面用のJavaスラッシュスクリーンが表示されている間に読み込むWebview

public class MainActivity extends ActionBarActivity { 
private static int SPLASH_TIME_OUT = 4000; 

BottomBar mBottomBar; 
@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); 
    getWindow().getDecorView().setBackgroundColor(Color.WHITE); 

} 

} 

、私も パブリッククラスHomeActivityがActionBarActivityを拡張し、以下のようにしているのWebViewとJavaとの最初のframgmentに移動bottombarを持っている{

BottomBar mBottomBar; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_home); 
    getWindow().getDecorView().setBackgroundColor(Color.WHITE); 
    mBottomBar = BottomBar.attach(this,savedInstanceState); 
    mBottomBar.setItemsFromMenu(R.menu.menu_main,new OnMenuTabClickListener() { 
     @Override 
     public void onMenuTabSelected(@IdRes int i) { 
      if(i==R.id.Bottombaritemone) { 
        HomeFragment f = new HomeFragment(); 
       getSupportFragmentManager().beginTransaction().replace(R.id.frame, f).commit(); 
      } 
      else if(i==R.id.Bottombaritemtwo) 
      { 
       SearchFragment f =new SearchFragment(); 
       getSupportFragmentManager().beginTransaction().replace(R.id.frame,f).commit(); 
      } 
      else if(i==R.id.Bottombaritemthree) 
      { 
       AccountFragment f =new AccountFragment(); 
       getSupportFragmentManager().beginTransaction().replace(R.id.frame,f).commit(); 
      } 

     } 

     @Override 
     public void onMenuTabReSelected(@IdRes int i) { 

     } 
    }); 
    mBottomBar.mapColorForTab(0,"#F2F2F2"); 
    mBottomBar.mapColorForTab(1,"#F2F2F2"); 
    mBottomBar.mapColorForTab(2,"#F2F2F2"); 
} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
    return true; 
} 

と最後に、最初のHomeFragmentの私のwebviewのjava

public class HomeFragment extendsフラグメント{ WebView my2WebView;

@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup  container,Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.home,container,false); 
    getLoaderManager(); 
    my2WebView = (WebView) view.findViewById(R.id.webView1); 
    WebSettings webSettings = my2WebView.getSettings(); 
    my2WebView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH); 
    webSettings.setUseWideViewPort(true); 
    webSettings.setSavePassword(true); 
    webSettings.setEnableSmoothTransition(true); 
    webSettings.setJavaScriptEnabled(true); 
    webSettings.getLoadsImagesAutomatically(); 
    my2WebView.loadUrl("http://www.fidellaglobal.com/feed"); 
    my2WebView.setWebViewClient(new WebViewClient()); 
    return view; 

} 

このように、スプラッシュスクリーンがオンになっているときに最初のフラグメントを読み込むにはどうすればよいですか?ありがとうございました:)

答えて

0

最初に、あなたのレイアウトファイル内でWebViewの表示が非表示に設定されています。あなたにWebViewを追加します。これには遅延ハンドラが含まれています。

new Handler().postDelayed(new Runnable() { 
    @Override 
    public void run(){ 
     // Make your webview visible 
     mWebView.setVisibility(View.VISIBLE); 
    } 
},SPLASH_TIME_OUT); 
関連する問題