SpannableString_文字闪动

Activity代码

public class TextStyleActivity extends AppCompatActivity {
    private TextView textView;
    private String text;
    private int position = 0;

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

        textView = (TextView) findViewById(R.id.textView);

        text = textView.getText().toString();
        handler.sendEmptyMessageDelayed(0, 150);
    }

    private Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);

            SpannableString spannableString = new SpannableString(text);
            RelativeSizeSpan sizeSpan = new RelativeSizeSpan(1.2f);
            spannableString.setSpan(sizeSpan, position, position + 1, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
            textView.setText(spannableString);
            position++;
            if (position >= text.length()) {
                position = 0;
            }
            handler.sendEmptyMessageDelayed(0, 150);
        }
    };
}

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">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:background="#FFFFFF"
        android:padding="16dp">

        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="看,这里的文字会动哦!"
            android:textColor="#0099EE"
            android:textSize="16sp" />
    </RelativeLayout>

</LinearLayout>

猜你喜欢

转载自blog.csdn.net/qq_14876133/article/details/81019354