全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

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

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()));

2.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://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.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://schemas.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://schemas.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实例详解  # Android TextSwitcher实现文字上下翻牌效果(铜板街)  # Android App中用Handler实现ViewPager页面的自动切换  # Android应用中图片浏览时实现自动切换功能的方法详解  # Android开发之使用ViewPager实现图片左右滑动切换效果  # Android App仿微信界面切换时Tab图标变色效果的制作方法  # Android自定义ImageView实现点击两张图片切换效果  # Android实现图片轮播切换实例代码  # Android编程实现图片背景渐变切换与图层叠加效果  # Android实现加载状态视图切换效果  # Android开发实现自动切换文字TextSwitcher功能示例  # 的是  # 中去  # 热议  # 我就  # 就会  # 来了  # 大家分享  # 下个  # 三步  # 具体内容  # 好开心  # 大家多多  # 切换到  # 时需  # 切换器  # 有两个  # 包含了  # 是一样的  # support  # gt 


相关文章: 如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  常州自助建站费用包含哪些项目?  如何基于PHP生成高效IDC网络公司建站源码?  如何快速搭建个人网站并优化SEO?  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  上海网站制作开发公司,上海买房比较好的网站有哪些?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  做企业网站制作流程,企业网站制作基本流程有哪些?  如何用免费手机建站系统零基础打造专业网站?  定制建站策划方案_专业建站与网站建设方案一站式指南  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  网站制作员失业,怎样查看自己网站的注册者?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  建站之星如何保障用户数据免受黑客入侵?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  山东网站制作公司有哪些,山东大源集团官网?  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  如何在景安服务器上快速搭建个人网站?  定制建站流程解析:需求评估与SEO优化功能开发指南  如何用已有域名快速搭建网站?  淘宝制作网站有哪些,淘宝网官网主页?  ,南京靠谱的征婚网站?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  导航网站建站方案与优化指南:一站式高效搭建技巧解析  高端建站如何打造兼具美学与转化的品牌官网?  建站之星如何防范黑客攻击与数据泄露?  如何在香港免费服务器上快速搭建网站?  北京网站制作网页,网站升级改版需要多久?  如何快速生成ASP一键建站模板并优化安全性?  如何零基础在云服务器搭建WordPress站点?  如何通过FTP服务器快速搭建网站?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  如何零成本快速生成个人自助网站?  重庆市网站制作公司,重庆招聘网站哪个好?  PHP正则匹配日期和时间(时间戳转换)的实例代码  如何在Windows环境下新建FTP站点并设置权限?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  装修招标网站设计制作流程,装修招标流程?  高端网站建设与定制开发一站式解决方案 中企动力  如何通过wdcp面板快速创建网站?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  重庆网站制作公司哪家好,重庆中考招生办官方网站?  如何注册花生壳免费域名并搭建个人网站?  大学网站设计制作软件有哪些,如何将网站制作成自己app? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。