0

私はフリッパービュー用の小さなテストプログラムを書きました。私は3つのビューを持っています。startFlipping()を呼び出して次のビューを取り込むので、最初のビュー、2番目、3番目、そして最初のビューに戻ります

次のビューに移動する代わりに、フリッパーを3つの異なるビューのいずれかに直接移動させることができますか?

そうでない場合、垂直コンテナを非表示にする方法はありますか?たぶん私は3つの垂直コンテナを持ち、2つを非表示にし、1つを表示することができますか?

コード:

public class TestviewflipperActivity extends Activity implements
    OnClickListener{
    /** Called when the activity is first created. */
    ViewFlipper mFlipper;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // add listeners
        View mButA = findViewById(R.id.flipbut);
        mButA.setOnClickListener(this);

        mFlipper = (ViewFlipper)findViewById(R.id.flipper);


        View mBut = findViewById(R.id.back_btna);
        mBut.setOnClickListener(this);


    }



    public void onClick(View v) {

mFlipper.startFlipping();   
    }
}

とレイアウト:

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

    <Button android:text="Go Back" 
           android:id="@+id/flipbut"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" />


  <ViewFlipper android:id="@+id/flipper"
              android:layout_width="fill_parent" 
              android:layout_height="fill_parent">





   <LinearLayout android:layout_width="fill_parent"
             android:layout_height="fill_parent" 
             android:orientation="vertical"           
                android:id="@+id/screenA"
             >

   <TextView android:layout_width="wrap_content" 
             android:layout_height="wrap_content"
          android:text="TEST screen a" 
          android:layout_gravity="center" 
          android:padding="15dip"
          android:textSize="22dip" />


   <Button android:text="Go Back" 
           android:id="@+id/back_btna"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" />


  </LinearLayout>

    <LinearLayout android:layout_width="fill_parent"
                 android:layout_height="fill_parent" 
                 android:orientation="vertical"           
                    android:id="@+id/screenB"
                 >

       <TextView android:layout_width="wrap_content" 
                 android:layout_height="wrap_content"
              android:text="screenb" 
              android:layout_gravity="center" 
              android:padding="15dip"
              android:textSize="22dip" />


       <Button android:text="Go Back" 
               android:id="@+id/back_btnb"
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content" />

      </LinearLayout>

    <LinearLayout android:layout_width="fill_parent"
                 android:layout_height="fill_parent" 
                 android:orientation="vertical"           
                    android:id="@+id/screenC"
                 >

       <TextView android:layout_width="wrap_content" 
                 android:layout_height="wrap_content"
              android:text="screenC" 
              android:layout_gravity="center" 
              android:padding="15dip"
              android:textSize="22dip" />


       <Button android:text="Go Back" 
               android:id="@+id/back_btnc"
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content" />

      </LinearLayout>

     </ViewFlipper>

    </LinearLayout>
4

1 に答える 1

1

を使用mFlipper.setDisplayedChild(int whichChild)して、コードで必要なビューに合わせられるようにする必要があります。メソッドはViewFlipperの親で定義されていViewAnimatorます。

于 2012-06-27T21:55:35.933 に答える