6

Webサービスを介してデータを解析しています。垂直方向ではなく水平方向に反転させたい。これは、ViewFlipperが使用されているが、静的データ用のチュートリアルです。


2つのアクティビティを切り替える必要があるコードは次のとおりです。

Splash.java

public class Splash extends Activity{

        /** Called when the activity is first created. */

        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            setContentView(R.layout.main);

                    startActivity(new Intent(Splash.this, MainMenu.class));
                    Splash.this.finish();                                     
        }
    }

Splash.xml

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/splash">
</AbsoluteLayout>

Menu.java

public class Menu extends Activity{

        /** Called when the activity is first created. */

        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);               
            setContentView(R.layout.menu);                                       
        }
    }

Menu.xml

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/menu">
</AbsoluteLayout>
4

4 に答える 4

18

addViewを使用して、ViewFlipperにページを動的に追加できます。

  flipper= (ViewFlipper) findViewById(R.id.flipper1);
  flipper.addView(myView,myViewIndex);

myViewは追加するビューであり、myViewIndexはこの新しいビューを追加するビューフリッパーのインデックスです。

次に、ビューの変更時にプリフォームするようにアニメーションを設定できます。

  flipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.left_in));
  flipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.left_out));

次に、このページに移動するには、次を使用できます。

  flipper.setDisplayedChild(myViewIndex);

left_in.xmlは次のように定義されています

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" 
  android:interpolator="@android:anim/accelerate_interpolator">
    <translate
    android:interpolator="@android:anim/decelerate_interpolator"
    android:fromXDelta="100%p"
    android:toXDelta="0" 
    android:duration="300"
    />
</set>

そしてleft_out.xmlは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:interpolator="@android:anim/accelerate_interpolator"
    >
    <translate
    android:interpolator="@android:anim/decelerate_interpolator"
    android:fromXDelta="0" 
    android:toXDelta="-100%p" 
    android:duration="300"
    />
</set>
于 2010-04-19T21:23:34.800 に答える
3

以前に見たことがあると確信していたので、簡単に調べてみました。これはdeveloper.android.comで見つかりまし

public void overridePendingTransition (int enterAnim, int exitAnim)

Since: API Level 5
Call immediately after one of the flavors of startActivity(Intent) or finish() to specify an explicit transition animation to perform next.
Parameters
enterAnim   A resource ID of the animation resource to use for the incoming activity. Use 0 for no animation.
exitAnim    A resource ID of the animation resource to use for the outgoing activity. Use 0 for no animation.

したがって、この追加のパラメーターをインテントに追加して、呼び出すアクティビティが新しいアクティビティの開始時と古いアクティビティの終了時にどのようにアニメーション化されるかを定義できます。

于 2010-04-21T09:23:33.900 に答える
1

ビューフリッパーを使用せずに2つのアクティビティ間を移動する場合は、通常のインテントを使用できます。チュートリアルを作成して、アクティビティのインとアウトをアニメーション化できるようにします。

楽しみ:

http://blog.blundellapps.co.uk/animate-an-activity/

于 2012-02-09T13:37:26.903 に答える
-4

画面が保持されている位置(加速度センサーによって決定される)に基づいて画面を回転させたいだけですか?

もしそうなら、追加するだけです

android:screenOrientation="sensor"

AndroidManifest.xmlファイルのアクティビティノードに移動します

于 2010-04-19T13:56:10.080 に答える