0

我为 Flipperview 编写了一个小测试程序。我有 3 个视图。我调用 startFlipping() 来引入下一个视图,所以它从第一个视图、第二个、第三个视图返回到第一个视图

你有没有一种方法,而不是去下一个视图,我可以让脚蹼直接进入 3 个不同视图中的任何一个????

如果没有,有没有办法隐藏垂直容器?也许我可以有 3 个垂直容器,隐藏 2 个,显示一个?

代码:

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 回答