2

私のAndroidアプリには、xmlでアニメーション化された4つの画像ボタンがあります:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/home1"
        android:state_focused="true"
        android:state_pressed="true" />
    <item android:drawable="@drawable/home1"
        android:state_focused="false"
        android:state_pressed="true" />
    <item android:drawable="@drawable/home" android:state_focused="true" />
    <item android:drawable="@drawable/home2"
        android:state_focused="false"
        android:state_pressed="false" />
</selector>

ボタンをクリックすると、アニメーションは実行されますが、新しいアクティビティがすぐに開くため、正しく表示されません。アニメーション全体を表示したいのですが、スリープ メソッドを実行したと思いますが、これが私のアクション ボタンの正確な位置を知りませんでした:

   btn_photos.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {
            // Launching News Feed Screen
            Intent i = new Intent(getApplicationContext(), PhotosActivity.class);
            startActivity(i);
        }
    });

助けてください:)

4

2 に答える 2

0

Runnable を作成し、onClickListener 内で開始します。runnable にスリープ時間を与えます。

Runnable viewPhotos = new Runnable() {
    public void run() {
        Thread.sleep(3000);
        Intent i = new Intent(getApplicationContext(), PhotosActivity.class);
        startActivity(i);
    }
};

btn_photos.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        // Launching News Feed Screen
        Thread thread =  new Thread(null, viewPhotos, "ViewPhotos");
        thread.start();
    }
});
于 2012-06-03T13:24:56.783 に答える
0

このコードを追加

btn_photos.setOnClickListener(new View.OnClickListener() {

    public void onClick(View view) {
        // Launching News Feed Screen
        try{
            Thread.sleep(2000);
        }
        catch( InterruptedException e) {}
        Intent i = new Intent(getApplicationContext(), PhotosActivity.class);
        startActivity(i);
    }
});

必要に応じて遅延を微調整します。=]

于 2012-06-03T13:14:12.097 に答える