Android學習筆記————簡單認識ViewFlipper

來源:互聯網
上載者:User

ViewFlipper是Android為我們提供的一個可以簡單的實現,多個View切換的控制項,並且還可以添加動畫效果。

那麼先看看文檔中是怎麼描述ViewFlipper的。

Simple ViewAnimator that will animate between two or more views that have been added to it. Only one child is shown at a time. If requested ,can automatically flip between each child at a regular interval.

大概意思是說ViewFlipper可以實現兩個或多個view之間的切換,前提是這些view已經被加入到ViewFlipper中,同時,一次只能顯示一個view。並且可以加入動畫效果,使效果更炫。

那麼,下面我們就來看下ViewFlipper是怎麼使用的。

其實它的用法非常簡單,我的理解是:其實就是一個可以切換子視圖的layout而已。這樣說,想必大家都應該知道它應該怎麼用了吧。

好了,廢話少說,上代碼:

首先我們建立兩個動畫檔案,在res中建立anim檔案夾,然後建立檔案flipper_in.xml和flipper_out.xml。分別來定義子空間切換時,消失和出現的效果。

flipper_in.xml:

<?xml version="1.0" encoding="utf-8"?>      <set xmlns:android="http://schemas.android.com/apk/res/android">          <translate          android:fromXDelta="-100%p"           android:toXDelta="0"           android:duration="1000"/>          <alpha          android:fromAlpha="0.0"           android:toAlpha="1.0"         android:duration="1000" />      </set>   

flipper_out.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">     <translate          android:fromXDelta="0"           android:toXDelta="100%p"           android:duration="1000"    />          <alpha          android:fromAlpha="1.0"           android:toAlpha="0.0"         android:duration="1000"     />      </set>

接下來是主視圖的布局檔案main.xml

<?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:id="@+id/previousOne"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:text="show previous"    /><ViewFlipper    android:id="@+id/mViewFlipper"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:layout_gravity="center"     ></ViewFlipper><Button    android:id="@+id/nextOne"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:text="show next"    /></LinearLayout>

這裡只說明一點,我們可以講子視圖直接布局在ViewFlipper中,就像layout的用法一樣。不過,我使用的是在代碼中添加子視圖,見下面的代碼:

package csy.viewFlipperDemo;import android.app.Activity;import android.content.Context;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;import android.widget.ViewFlipper;public class ViewFlipperDemoActivity extends Activity implements OnClickListener{private Context context;private Button nextBtn;private Button preBtn;private ViewFlipper mViewFlipper;    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        context = ViewFlipperDemoActivity.this;        initViews();    }        public void initViews(){    nextBtn = (Button)findViewById(R.id.nextOne);    nextBtn.setOnClickListener(this);    preBtn = (Button)findViewById(R.id.previousOne);    preBtn.setOnClickListener(this);        /*     * 這裡為mViewFlipper添加子空間,當然也可以在布局檔案中添加     */    mViewFlipper = (ViewFlipper)findViewById(R.id.mViewFlipper);    mViewFlipper.addView(createTextViewByText("這是第一個TextView"));    mViewFlipper.addView(createTextViewByText("這是第二個TextView"));    mViewFlipper.addView(createTextViewByText("這是第三個TextView"));    mViewFlipper.addView(createTextViewByText("這是第四個TextView"));        /*     * 這裡為mViewFlipper設定我們需要的動畫效果     */    mViewFlipper.setInAnimation(context, R.anim.flipper_in);    mViewFlipper.setOutAnimation(context, R.anim.flipper_out);    }        public View createTextViewByText(String text){    TextView view = new TextView(context);    view.setText(text);    return view;    }@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch (v.getId()) {case R.id.nextOne:mViewFlipper.showNext();break;case R.id.previousOne:mViewFlipper.showPrevious();break;default:break;}}}

代碼還是比較簡單的,應該沒有什麼大問題吧。這樣我們就簡單的認識了ViewFlipper這個控制項的用法了。

下面是例子的源碼http://download.csdn.net/detail/chenshaoyang0011/4082405

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.