有没有办法让FlipperView转到任何一个封闭的视图,而不是循环通过它们?

时间:2012-06-27 21:44:29

标签: android viewflipper

我为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>

1 个答案:

答案 0 :(得分:1)

您应该可以使用mFlipper.setDisplayedChild(int whichChild)将其填充到代码中所需的视图中。该方法在ViewFlipper的父级ViewAnimator中定义。