欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ViewFlipper實(shí)現(xiàn)文字輪播效果

 更新時(shí)間:2019年08月22日 09:18:47   作者:敲代碼的鳥  
這篇文章主要為大家詳細(xì)介紹了ViewFlipper實(shí)現(xiàn)文字輪播效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

ViewFlipper實(shí)現(xiàn)文字輪播(仿淘寶頭條垂直滾動(dòng)廣告),供大家參考,具體內(nèi)容如下

廣告條目可以單獨(dú)寫成布局文件,然后在布局文件或者代碼中添加到總布局中

從源碼可以看出,其實(shí)ViewFlipper間接的繼承了FrameLayout,也可以說ViewFlipper其實(shí)就是個(gè)FrameLayout,只不過在內(nèi)部封裝了動(dòng)畫實(shí)現(xiàn)和Handler實(shí)現(xiàn)一個(gè)循環(huán)而已。

布局文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:id="@+id/activity_main"
 android:layout_width="match_parent"
 android:layout_height="match_parent">

 <!--android:autoStart:設(shè)置自動(dòng)加載下一個(gè)View-->
 <!--android:flipInterval:設(shè)置View之間切換的時(shí)間間隔-->
 <!--android:inAnimation:設(shè)置切換View的進(jìn)入動(dòng)畫-->
 <!--android:outAnimation:設(shè)置切換View的退出動(dòng)畫-->
 <ViewFlipper

  android:id="@+id/view_flipper"
  android:layout_width="match_parent"
  android:layout_height="100dp"
  android:layout_centerInParent="true"
  android:autoStart="true"
  android:background="#808080"
  android:flipInterval="2000"
  android:inAnimation="@anim/slide_in_down"
  android:outAnimation="@anim/slide_out_up">

  <TextView
   android:id="@+id/first"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_gravity="center"
   android:text="白日依山盡"
   android:textColor="#FF00FF"
   android:textSize="50sp" />

  <TextView
   android:id="@+id/second"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_gravity="center"
   android:text="黃河入海流"
   android:textColor="#FF00FF"
   android:textSize="50sp" />

  <TextView
   android:id="@+id/third"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_gravity="center"
   android:text="欲窮千里目"
   android:textColor="#FF00FF"
   android:textSize="50sp" />

  <TextView
   android:id="@+id/forth"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_gravity="center"
   android:text="更上一層樓"
   android:textColor="#FF00FF"
   android:textSize="50sp" />
 </ViewFlipper>
</RelativeLayout>

這里介紹ViewFlipper用到的屬性,這些屬性其實(shí)都可以使用代碼實(shí)現(xiàn),只不過這里為了代碼看上去美觀,才放在布局里的

  • android:autoStart : 設(shè)置自動(dòng)加載下一個(gè)View
  • android:flipInterval : 設(shè)置View之間切換的時(shí)間間隔
  • android:inAnimation : 設(shè)置切換View的進(jìn)入動(dòng)畫
  • android:outAnimation : 設(shè)置切換View的退出動(dòng)畫

下面是ViewFlipper常用的方法介紹,除了可以設(shè)置上面的屬性之外,還提供了其他方法

  • isFlipping : 判斷View切換是否正在進(jìn)行
  • setFlipInterval : 設(shè)置View之間切換的時(shí)間間隔
  • startFlipping : 開始View的切換,而且默認(rèn)會(huì)循環(huán)進(jìn)行
  • stopFlippiing : 停止View的切換
  • setOutAnimation : 設(shè)置切換View的退出動(dòng)畫
  • setInAnimation : 設(shè)置切換View的進(jìn)入動(dòng)畫
  • showNext : 顯示ViewFlipper里的下一個(gè)View
  • showPrevious : 顯示ViewFlipper里的上一個(gè)View

這里還涉及到兩個(gè)動(dòng)畫其實(shí)就是一個(gè)平移的動(dòng)畫,它們都保存在anim文件夾中

slide_in_down.xml 進(jìn)入動(dòng)畫

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
 <translate
  android:duration="@android:integer/config_mediumAnimTime"
  android:fromYDelta="100%"
  android:toYDelta="0"/>
</set>

slide_out_up.xml 退出動(dòng)畫

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
 android:duration="@android:integer/config_mediumAnimTime"
 android:fromYDelta="0"
 android:toYDelta="-100%"/>
</set>

MainActivity

package com.nrf.mydemo;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

 }

}

運(yùn)行之后,效果圖

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論