2

Androidで1つのアプリケーションを作成しています。main.xml という名前のレイアウトが 1 つあります。

main.xml:

<ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/splashscreen" />

mainActivity.java:

public class MainActivity extends WebViewActivity{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        DisplayMetrics displaymetrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
        int height = displaymetrics.heightPixels;
        int wwidth = displaymetrics.widthPixels;
        setContentView(R.layout.main);
        final ImageView imgview=(ImageView)findViewById(R.id.imageView1);
        imgview.setLayoutParams(new LinearLayout.LayoutParams(wwidth, 
                height, 0.0F));
        int DELAY = 6000;

        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {            
            public void run()
            { 
                WebViewActivity.loadurl("file:///android_asset/www/index.htm");                
            }
        }, DELAY);

    }
}

最初に main.xml をロードしたい、6 秒後に webview に url をロードしたい。WebViewActivity には読み込み用のコードがあります...

上記のコーディングに従いました...

結果:最初は main.xml が完全にロードされています... しかし、6 秒後に loadurl メソッドが呼び出されますが、main.xml は削除されません。これを行う方法?

注: WebViewActivity には、webview を使用したレイアウトがあります。

4

4 に答える 4

2

私は以下のコーディングに従いました...私はmain.xmlページを使用しませんでした...webviewに直接ロードされました...うまく機能しています:-)

public class MainActivity extends WebViewActivity{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        WebViewActivity.loadurl("file:///android_asset/www/splashscreen.png");
        int DELAY = 6000;

        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {            
            public void run()
            { 
                 WebViewActivity.loadurl("file:///android_asset/www/index.htm");
            }
        }, DELAY);

    }
}
于 2012-07-13T09:12:31.443 に答える
0

main.xml に webview ビューが必要です...

または別のレイアウト xml を作成し、setContentView(R.layout.anotherlayoutxml); を使用します。

于 2012-07-13T07:21:13.863 に答える
0
You can do it like this 

// first add a progress dialog

ProgressDialog dialog ; 

//Initialize in OnCreate

dialog = new ProgressDialog(this);

//and call the following function 

        display();

private void display() {
// TODO Auto-generated method stub
new CountDownTimer(6000, 1000) {

public void onTick(long millisUntilFinished) {
// mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
dialog.show();
}

public void onFinish() {

dialog.dismiss();
}
}.start();

}
于 2012-07-13T07:41:28.223 に答える
0

mainActivityは、この Activity に関連する XML を定義するために使用します。setContentView(layout)main.xml には、正しく表示される画像のみが含まれています。WebViewActivity に URL をロードしてそのままにしておくと、表示されないためあまり効果がありません

ソリューション:

1) 新しい WebViewActivity を開始します。

handler.postDelayed(new Runnable() {            

        public void run()
        { 
            Intent myIntent = new Intent(this, WebViewActivity.class);
            startActivity(myIntent);
            finish();
        }
    }, DELAY); 

WebView OnCreateを含む WebViewActivity の XML を作成します。

 myWebView = (WebView) findViewById(R.id.myWebView);
 myWebView.loadurl("file:///android_asset/www/index.htm"); 

注:WebViewActivityこの場合、mainActivity はあなたのものから拡張する必要はありません。

2) setVisibility()

main.xml

<ImageView />
<WebView 
       id:myWebView
       visibility:invisible />

OnCreate では、既に URL を WebView に読み込むことができます。Handler は、必要なときにビューを表示するだけです。

handler.postDelayed(new Runnable() {            
        public void run()
        { 
            myWebView.setVisibility(View.VISIBLE);
        }
    }, DELAY);
于 2012-07-13T07:28:51.610 に答える