步步為營_Android開發課[30]_使用者介面之ViewFlipper

來源:互聯網
上載者:User

標籤:viewflippe   效果   開發   滑動   執行個體   

Focus on technology, enjoy life!—— QQ:804212028
瀏覽連結:http://blog.csdn.net/y18334702058/article/details/44624305

  • 主題:使用者介面之ViewFlipper
    -
    ViewFlipper多視圖切換(執行個體)
    實現效果:
    左右滑動,類比歡迎介面的圖片切換。

activity_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">    <ViewFlipper         android:id="@+id/viewFlipper"        android:layout_width="fill_parent"         android:layout_height="fill_parent">        <!-- 第一個頁面 -->        <LinearLayout             android:layout_width="fill_parent"            android:layout_height="fill_parent"             android:gravity="center">            <ImageView                 android:layout_width="fill_parent"                android:layout_height="fill_parent"                 android:src="@drawable/a1" />        </LinearLayout>        <!-- 第二個頁面 -->        <LinearLayout             android:layout_width="fill_parent"            android:layout_height="fill_parent"             android:gravity="center">            <ImageView                 android:layout_width="fill_parent"                android:layout_height="fill_parent"                 android:src="@drawable/a2"                android:gravity="center" />        </LinearLayout>        <!-- 第三個頁面 -->        <LinearLayout             android:layout_width="fill_parent"            android:layout_height="fill_parent"             android:gravity="center">            <ImageView                 android:layout_width="fill_parent"                android:layout_height="fill_parent"                 android:src="@drawable/a3"                android:gravity="center" />        </LinearLayout>        <!-- 第四個頁面 -->        <LinearLayout             android:layout_width="fill_parent"            android:layout_height="fill_parent"             android:gravity="center">            <ImageView                 android:layout_width="fill_parent"                android:layout_height="fill_parent"                 android:src="@drawable/a4"                android:gravity="center" />        </LinearLayout>    </ViewFlipper></LinearLayout>

在res檔案下建立anim檔案,再在anim檔案下建立四個動畫布局。

left_to_right_in.xml:

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

left_to_right_out.xml:

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

right_to_left_in.xml:

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

right_to_left_out.xml:

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

MainActivity.java:

import android.app.Activity;import android.os.Bundle;import android.view.MotionEvent;import android.widget.ViewFlipper;public class MainActivity extends Activity {    ViewFlipper viewFlipper = null;    float startX;    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        init();    }    private void init() {        viewFlipper = (ViewFlipper) this.findViewById(R.id.viewFlipper);    }    public boolean onTouchEvent(MotionEvent event) {        switch (event.getAction()) {        case MotionEvent.ACTION_DOWN:            startX = event.getX();            break;        case MotionEvent.ACTION_UP:            if (event.getX() > startX) { // 向右滑動                viewFlipper.setInAnimation(this, R.anim.left_to_right_in);                viewFlipper.setOutAnimation(this, R.anim.left_to_right_out);                viewFlipper.showNext();            } else if (event.getX() < startX) { // 向左滑動                viewFlipper.setInAnimation(this, R.anim.right_to_left_in);                viewFlipper.setOutAnimation(this, R.anim.right_to_left_out);                viewFlipper.showPrevious();            }            break;        }        return super.onTouchEvent(event);    }}

Focus on technology, enjoy life!—— QQ:804212028
瀏覽連結:http://blog.csdn.net/y18334702058/article/details/44624305

步步為營_Android開發課[30]_使用者介面之ViewFlipper

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.