当前位置:  开发笔记 > Android > 正文

Android动画中的平滑文本更改

如何解决《Android动画中的平滑文本更改》经验,为你挑选了2个好方法。

我想在android文本视图中添加动画,这样当文本发生变化时,它应该平滑而缓慢地变化.喜欢,当文本改变时淡入或淡出.在Android中使用动画是否可行?我到目前为止;

主要活动

public class MainActivity extends AppCompatActivity {

    TextView tv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btn = (Button) findViewById(R.id.btn);
         tv = (TextView)findViewById(R.id.textview);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                    tv.setText(String.valueOf(Integer.valueOf((String) tv.getText()) + 1));
            }
        });
    }
}

activity_main.xml中




    

    

Salauddin Ga.. 16

使用TextSwitcher


    
    

要在TextSwitcher中显示的字符串数组

String textToShow[] = {"Main HeadLine", "Your Message", "New In Technology"};

你必须设置动画

mSwitcher.setInAnimation(context, android.R.anim.slide_in_left);
mSwitcher.setOutAnimation(context, android.R.anim.slide_out_right);

通过调用方法setText(CharSequence文本)触发动画

// When clicked on Button TextSwitcher will switch between texts
btnNext.setOnClickListener(new View.OnClickListener() {
    public void onClick (View v) {

       currentIndex++;
       // If index reaches maximum reset it
       if (currentIndex == messageCount) {
          currentIndex = 0;
       }

       mSwitcher.setText(textToShow[currentIndex]);
}):

如果要设置不带动画的文本,请调用方法setCurrentText(CharSequence text).



1> Salauddin Ga..:

使用TextSwitcher


    
    

要在TextSwitcher中显示的字符串数组

String textToShow[] = {"Main HeadLine", "Your Message", "New In Technology"};

你必须设置动画

mSwitcher.setInAnimation(context, android.R.anim.slide_in_left);
mSwitcher.setOutAnimation(context, android.R.anim.slide_out_right);

通过调用方法setText(CharSequence文本)触发动画

// When clicked on Button TextSwitcher will switch between texts
btnNext.setOnClickListener(new View.OnClickListener() {
    public void onClick (View v) {

       currentIndex++;
       // If index reaches maximum reset it
       if (currentIndex == messageCount) {
          currentIndex = 0;
       }

       mSwitcher.setText(textToShow[currentIndex]);
}):

如果要设置不带动画的文本,请调用方法setCurrentText(CharSequence text).



2> Andrej Jurki..:

如果您想支持Android 4+。请查看Transitions Everywhere库。您可以实现向后兼容的各种不同动画。

在这里您可以找到一些示例。

只需几行,您就可以开始了!

TransitionManager.beginDelayedTransition(transitionsContainer,
        new ChangeText().setChangeBehavior(ChangeText.CHANGE_BEHAVIOR_OUT_IN));

现在您要做的就是更改文本,所有的魔术都为您完成。

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有