Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android TextSwitcher文本切换器和ViewFlipper使用详解大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

本文为大家分享了Android TextSwitcher文本切换器的使用,供大家参,具体内容如下

Android TextSwitcher文本切换器和ViewFlipper使用详解

1.TextSwitcher

 使用:

应用分为三步:

1.得到 TextSwitcher 实例对象
  TextSwitcher switcher = (TextSwitcher) findViewById(R.id.textSwitcher);
2.为switcher指定ViewSwitcher.ViewFactory工厂,该工厂会产生出转换时需要的View
  switcher.setFactory(this);
3.为switcher设定显示内容,该方法执行,就会切换到下个View
  switcher.setText(String.valueOf(new Random().nexTint()));

Android TextSwitcher文本切换器和ViewFlipper使用详解

2.ViewFlipper

Android TextSwitcher文本切换器和ViewFlipper使用详解

实现:

①创建主布局文件,包含ViewFlipper控件(从源码来看,ViewFlipper控件是集成FrameLayout,也是相当于一个帧布局,只是包含了一些特殊的属性

②创建ViewFlipper的子View,就是两个LinearLayout(里面包含两个TextView)

③创建ViewFlipper中子view的进入和退出动画anim_in和anim_out两个动画文件

④在Activity中将两个子View添加到ViewFlipper中去,调动的是ViewFlipper的addView方法

具体代码

①创建主布局文件

 activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
  xmlns:android="http://scheR_347_11845@as.android.com/apk/res/android"
  xmlns:app="http://scheR_347_11845@as.android.com/apk/res-auto"
  xmlns:tools="http://scheR_347_11845@as.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:fitsSystemWindows="true"
  tools:context="com.qianmo.rollads.MainActivity">
 
  <android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">
 
    <android.support.v7.widget.Toolbar
      android:id="@+id/toolbar"
      android:layout_width="match_parent"
      android:layout_height="?attr/actionBarSize"
      android:BACkground="?attr/colorPriMary"
      app:popupTheme="@style/AppTheme.PopupOverlay"/>
 
  </android.support.design.widget.AppBarLayout>
 
  <RelativeLayout
    android:id="@+id/content_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layouT_Behavior="@String/appbar_scrolling_view_behavior"
    tools:context="com.qianmo.rollads.MainActivity"
    tools:showIn="@layout/activity_main">
 
    <ViewFlipper
      android:id="@+id/viewFlipper"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:autoStart="true"
      android:BACkground="#fff"
      android:flipInterval="3000"
      android:inAnimation="@anim/anim_in"
      android:outAnimation="@anim/anim_out"
      android:paddingLeft="30dp"
      >
    </ViewFlipper>
  </RelativeLayout>
  <android.support.design.widget.FloaTingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    android:layout_margin="@dimen/fab_margin"
    app:srcCompat="@android:drawable/ic_dialog_email"/>
 
</android.support.design.widget.CoordinatorLayout>

②创建ViewFlipper的子View,这里有两个,我就只给出一个来了,另一个是一样的

one_ads.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://scheR_347_11845@as.android.com/apk/res/android"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:orientation="vertical"
       android:padding="8dp"
  >
 
  <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    >
 
    <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="热议"
      android:textColor="#F14C00"
      android:textSize="12sp"
      android:BACkground="@drawable/bg"
      />
 
    <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:ellipsize="end"
      android:padding="3dp"
      android:singleLine="true"
      android:text="小米8问世,雷胖子现在笑的开心了啦!"
      android:textColor="#333"
      android:textSize="16sp"
      />
 
  </LinearLayout>
 
  <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    >
 
    <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="热议"
      android:textColor="#F14C00"
      android:textSize="12sp"
      android:BACkground="@drawable/bg"
      />
 
    <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:ellipsize="end"
      android:padding="3dp"
      android:singleLine="true"
      android:text="取了个漂亮的媳妇,整的是好开心!"
      android:textColor="#333"
      android:textSize="16sp"
      />
 
  </LinearLayout>
 
</LinearLayout>

③创建ViewFlipper中子view的进入和退出动画anim_in和anim_out两个动画文件,这里也只给出anim_in的代码,anim_out代码是类似的

anim_in.xml

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

④在Activity中将两个子View添加到ViewFlipper中去,调动的是ViewFlipper的addView方法

  MainActivity.java

package com.qianmo.rollads;
 
import android.os.bundle;
import android.support.design.widget.FloaTingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ViewFlipper;
 
public class MainActivity extends AppCompatActivity {
 
  private ViewFlipper viewFlipper;
 
  @Override
  protected void onCreate(Bundle savedInstanceStatE) {
    super.onCreate(savedInstanceStatE);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    viewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);
    setSupportActionBar(toolbar);
 
    FloaTingActionButton fab = (FloaTingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.onClickListener() {
      @Override
      public void onClick(View view) {
        Snackbar.make(view,"replace with your own action",Snackbar.LENGTH_LONG)
            .setAction("Action",null).show();
      }
    });
 
    viewFlipper.addView(View.inflate(this,R.layout.one_ads,null));
    viewFlipper.addView(View.inflate(this,R.layout.two_ads,null));
  }
 
} 

ok,来看一下我们的效果

Android TextSwitcher文本切换器和ViewFlipper使用详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

大佬总结

以上是大佬教程为你收集整理的Android TextSwitcher文本切换器和ViewFlipper使用详解全部内容,希望文章能够帮你解决Android TextSwitcher文本切换器和ViewFlipper使用详解所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: