TextSwitcher为TextView实现平滑过渡

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("文字改变");
            }
        });
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在最新版的Android Studio实现TextSwitcher的上下滚动效果,可以按照以下步骤进行操作: 1. 在XML布局文件,将TextSwitcher添加到你的布局: ```xml <TextSwitcher android:id="@+id/textSwitcher" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inAnimation="@android:anim/slide_in_bottom" android:outAnimation="@android:anim/slide_out_top" /> ``` 2. 在Java代码,获取TextSwitcher的实例并设置相应的属性和动画: ```java TextSwitcher textSwitcher = findViewById(R.id.textSwitcher); // 设置TextSwitcher的文本切换动画 textSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.slide_in_left)); textSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.slide_out_right)); // 设置TextSwitcher的文本颜色、字体大小等属性 textSwitcher.setTextColor(Color.BLACK); textSwitcher.setTextSize(TypedValue.COMPLEX_UNIT_SP, 16); ``` 3. 添加要显示的文本到TextSwitcher,并设置相应的点击事件监听器: ```java textSwitcher.setText("First Text"); textSwitcher.setOnClickListener(new View.OnClickListener() { int counter = 0; @Override public void onClick(View v) { counter++; if (counter % 2 == 0) { textSwitcher.setText("First Text"); } else { textSwitcher.setText("Second Text"); } } }); ``` 这样,当你点击TextSwitcher时,它将在 "First Text" 和 "Second Text" 之间进行切换,并且会显示滑入和滑出的动画效果。你可以根据自己的需求修改文本和动画样式。希望这能帮到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值