TextSwitcher为TextView实现平滑过渡

原创 2015年11月18日 16:16:07

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"
    tools:context="cn.five.materialapp.FourFragment">
    <TextSwitcher
        android:id="@+id/switcher"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        >
    </TextSwitcher>
    <Button
        android:id="@+id/but_change"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="change"
        android:layout_below="@+id/switcher"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="8dp"
        />
</RelativeLayout>
代码:

public class FourFragment extends Fragment {
    private View view;
    private TextSwitcher switcher;
    private TextView tv;
    private Button change;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragment_four, container, false);
        initView();
        return view;
    }

    private void initView() {
        Animation in = AnimationUtils.loadAnimation(getContext(),android.R.anim.fade_in);
        Animation out = AnimationUtils.loadAnimation(getContext(),android.R.anim.fade_out);
        change = (Button) view.findViewById(R.id.but_change);
        switcher = (TextSwitcher) view.findViewById(R.id.switcher);
        switcher.setFactory(new ViewSwitcher.ViewFactory() {
            @Override
            public View makeView() {
                tv = new TextView(getContext());
                tv.setGravity(Gravity.CENTER);

                tv.setText("这是一个TextViewSwitcher");
                return tv;
            }
        });
        switcher.setInAnimation(in);
        switcher.setOutAnimation(out);
        change.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              switcher.setText("文字改变");
            }
        });
    }
}

TextSwitcher,一个带有文字切换动画效果的加强版TextView

先上图 直接上代码
  • u012587005
  • u012587005
  • 2017年10月09日 15:23
  • 338

使 用 TextSwitcher实现平滑过渡

要获得这种让用户愉悦的过渡效 果,只需要以下几个简单步骤:
  • yersterday
  • yersterday
  • 2014年06月30日 11:04
  • 506

Android使用TextSwitcher和ImageSwitcher实现平滑过渡

更改view当中的内容,比如TextView是我们进行项目开发过程中经常遇到的操作。 如果直接使用setText方法切换文字的话,TextView的内容是立刻改变的,没有一个平滑的效果,没有...
  • leirenbaobao
  • leirenbaobao
  • 2015年02月09日 11:01
  • 759

简单方法实现Android阅读器分页

写了一个非常小的阅读器。在实现分页功能时,一直没有思路。后来想了一个非常特别的方法。经过测试可以完美的实现分页功能。    主要思路: 1、将文本内容填充到TextView中,调用setText一句...
  • fx1ts
  • fx1ts
  • 2016年08月23日 20:18
  • 3071

Android自定义控件实战——仿多看阅读平移翻页

Android自定义控件实战——仿多看阅读平移翻页     转载请声明出处http://blog.csdn.net/zhongkejingwang/article/details/38728...
  • lib739449500
  • lib739449500
  • 2015年05月07日 17:28
  • 1019

Android 平滑和立体翻页效果1

http://www.ibm.com/developerworks/cn/opensource/os-cn-android-anmt1/index.html Android 平台提供了一套完整的动画...
  • pgalxx
  • pgalxx
  • 2011年09月17日 18:13
  • 18214

android textview 文本在代码中设置粗体效果

在xml文件中使用Android:textStyle="bold" 可以将英文设置成粗体,但是不能将中文设置成粗体。      将中文设置成粗体的方法是: 1.TextView tv = (T...
  • yangyangye
  • yangyangye
  • 2017年03月16日 15:36
  • 4495

android TextView设置中文字体加粗实现方法

英文设置加粗可以在xml里面设置: 复制代码 代码如下:android:textStyle="bold" 英文还可以直接在String文件里面直接这样填写: 复制代码 代码如下:Plain, bold...
  • zhuzhiqiang_zhu
  • zhuzhiqiang_zhu
  • 2016年04月07日 10:22
  • 9908

Hack5-1 TextSwitcher实现平滑过渡

TextSwitcher可以在使用setText时候,增添动画效果。TextView调用setText时直接变化,有点太突兀。 提示:使用TextSwitcher时,设定文字应该使用textSwit...
  • kk217777
  • kk217777
  • 2016年01月27日 10:35
  • 180

使用TextSwitcher和ImageSwitcher实现平滑过渡

更改视图中的内容是多数应用程序的基本功能,但是这未必是单调无趣的。如果使用默认的TextView控件,你会发现当切换其内容时,并没有良好的视觉体验。因此如果有一种方法可以为内容切换添加动画效果就太好了...
  • tw19911005
  • tw19911005
  • 2015年10月26日 22:08
  • 312
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TextSwitcher为TextView实现平滑过渡
举报原因:
原因补充:

(最多只允许输入30个字)