如何在Android中使用Spannable Marquee TextView制作新闻栏?

时间:2016-06-18 17:23:19

标签: android android-animation native marquee

我正在尝试在文本视图中创建一个使用选框动画的新闻栏。

我用marqueeRepeatLimit =" marquee_forever"

使用了这个视图
                    <TextView
                        android:id="@+id/scroll_notifs"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:singleLine="true"
                        android:ellipsize="marquee"
                        android:marqueeRepeatLimit="marquee_forever"
                        android:scrollHorizontally="true"
                        android:padding="10dp"
                        android:gravity="center"
                        android:focusable="true"
                        android:focusableInTouchMode="true"
                        android:background="@color/black_scrollTextView"
                        android:textColor="@color/white"
                        android:textSize="@dimen/text_size_s"
                        android:visibility="gone"
                        android:freezesText="true"/>

我在代码中设置:

TextView scroll_notifs = (TextView) view.findViewById(R.id.scroll_notifs); scroll_notifs.setSelected(true);

textview就像新闻栏一样,动画很好,现在的问题是如何使textview的一部分可点击,我使用了这样的spannable字符串:

 SpannableString spannableString = new SpannableString("this is the fancy box");

    spannableString.setSpan( new ClickableSpan() {
        @Override
        public void onClick(View view) {
            TextView textView = (TextView) view;
            CharSequence charSequence = textView.getText();
            Log.d("span click",charSequence.toString());
        }
    }, 0, 3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

    scroll_notifs.setText(spannableString);

    scroll_notifs.setMovementMethod(LinkMovementMethod.getInstance());

所以点击工作但没有跟随移动范围,它只是在我点击textview的第一个像素时才有效,我认为这是因为跨度从0开始到3结束。

但是当重复选框时,我开始点击跨度,在动画时跟随它,它没有响应。

因此,对于这个或任何其他想法,可以使用单独的点击监听器制作新闻栏。

最好的问候

1 个答案:

答案 0 :(得分:0)

我认为使用动画不可能使用TextView,我找到另一种方法来制作一个好的新闻栏:

http://www.scriptscoop.online/t/e52f7a28abfb/how-can-i-animate-an-android-textview-without-refreshing-it-and-fill-i.html