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和ImageSwitcher实现平滑过渡

更改视图中的内容是多数应用程序的基本功能,但是这未必是单调无趣的。如果使用默认的TextView控件,你会发现当切换其内容时,并没有良好的视觉体验。因此如果有一种方法可以为内容切换添加动画效果就太好了...

android 开发技巧(5)--使 用 TextSwitcher 实现平滑过渡

如果TextView需要循环切换内容,使用setText()会立刻改变,没有动画。为了使过渡过程的视觉效果更自然,Android 提供了 TextSwitcher 和 ImageSwitcher 这两...

Android buttom textview 颜色平滑过渡的动画效果

TransitionDrawable transitionDrawable = new TransitionDrawable( new Drawable[] { defau...

android TextView 垂直自动滚动字幕实现TextSwitcher

转自:http://blog.csdn.net/u014369799/article/details/50337229 实现功能:用TextSwitcher实现文本自动垂直滚动,类似淘宝首页...

delphi实现图像之间的平滑过渡

  • 2010年09月01日 08:50
  • 223KB
  • 下载

《C++游戏开发》笔记十四 平滑过渡的战争迷雾(二) 实现:真正的迷雾来了

用鼠标点击一下,散开一片迷雾,大家可以看到上面标示的数字,左上角是4,右上角是8,左下角是1,右下角是2 在右边再点一下,我们可以看到两片迷雾叠加起来了,过渡的很自然。大家注意一下数字,两片迷雾中间的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TextSwitcher为TextView实现平滑过渡
举报原因:
原因补充:

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