本文为大家分享了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文本切换器和ViewFlipper使用详解所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)