ViewFlipper的功能和用法
生活随笔
收集整理的這篇文章主要介紹了
ViewFlipper的功能和用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ViewFlipper組件繼承了ViewAnimator,它可以調用addView(View v)添加多個組件向ViewFlipper中添加多個組件之后,ViewFlipper可使用動畫控制多個組件之間的切換效果
ViewAnimator是一個基類,它繼承的是FrameLayout,因此可以將多個View組件“疊加”在一起,ViewAnimator額外增加的功能就是可以在View切換時表現出動畫效果。
ViewFlipper繼承了ViewAnimation,額外增加的新功能如下:
eg.自動播放的圖片庫
acitivity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.example.viewflippertest.MainActivity" ><!-- ViewFlipper組件,放了三個ImageView組件--><ViewFlipperandroid:id="@+id/viewFlipper1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:layout_marginLeft="80dp"android:layout_marginTop="34dp"android:flipInterval="1000" ><ImageViewandroid:id="@+id/imageView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/bomb10" /><ImageViewandroid:id="@+id/imageView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/bomb11" /><ImageViewandroid:id="@+id/imageView3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/bomb12" /></ViewFlipper><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_centerVertical="true"android:layout_marginLeft="32dp"android:onClick="prev"android:text="<" /><Buttonandroid:id="@+id/button2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:layout_toRightOf="@+id/button1"android:onClick="auto"android:text="Auto" /><Buttonandroid:id="@+id/button3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignBaseline="@+id/button2"android:layout_alignBottom="@+id/button2"android:layout_toRightOf="@+id/button2"android:onClick="next"android:text=">" /></RelativeLayout> MainActvity.java
package com.example.viewflippertest;import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.ViewFlipper;public class MainActivity extends Activity {ViewFlipper cf;//ViewFlipper對象@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);cf=(ViewFlipper) findViewById(R.id.viewFlipper1);}//響應按鈕函數public void prev(View v){cf.setInAnimation(this,R.anim.slide_in_right);cf.setOutAnimation(this,R.anim.slide_out_left);cf.showPrevious();//停止切換cf.stopFlipping();};//響應按鈕函數public void auto(View v){cf.setInAnimation(this,R.anim.slide_in_right);cf.setOutAnimation(this,R.anim.slide_out_left);cf.startFlipping();};//響應按鈕函數public void next(View v){cf.setInAnimation(this,R.anim.slide_in_left);cf.setOutAnimation(this,R.anim.slide_out_right);cf.showNext();//停止切換cf.stopFlipping();};@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);} } slide_in_left.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"><!-- 設置從左邊拖進來的動畫android:duration指定動畫持續時間 --><translateandroid:fromXDelta="-100%p"android:toXDelta="0"android:duration="@android:integer/config_mediumAnimTime" /> </set>slide_in_right.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"><!-- 設置從右邊拖進來的動畫android:duration指定動畫持續時間 --><translateandroid:fromXDelta="100%p"android:toXDelta="0"android:duration="@android:integer/config_mediumAnimTime" /> </set>
slide_out_left.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"><!-- 設置從左邊拖出去的動畫 android:duration指定動畫持續時間 --><translateandroid:fromXDelta="0"android:toXDelta="-100%p"android:duration="@android:integer/config_mediumAnimTime" /> </set> slide_out_right.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"><!-- 設置從左邊拖出去的動畫 android:duration指定動畫持續時間 --><translateandroid:fromXDelta="0"android:toXDelta="100%p"android:duration="@android:integer/config_mediumAnimTime" /> </set>
總結
以上是生活随笔為你收集整理的ViewFlipper的功能和用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 去掉标题栏全屏显示代码
- 下一篇: Toast的功能和用法