我正在尝试在文本视图中创建一个使用选框动画的新闻栏。
我用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结束。
但是当重复选框时,我开始点击跨度,在动画时跟随它,它没有响应。
因此,对于这个或任何其他想法,可以使用单独的点击监听器制作新闻栏。
最好的问候
答案 0 :(得分:0)
我认为使用动画不可能使用TextView,我找到另一种方法来制作一个好的新闻栏: