[英]RSS Feed to one line horizontaly autoscroll textview
在我的项目中,我使用该库https://github.com/matshofman/Android-RSS-Reader-Library获取rss feed并解析为字符串,这是我的textview xml
<TextView
android:id="@+id/rssFeedAutoScrollText"
android:layout_width="match_parent"
android:layout_height="60px"
android:layout_alignParentBottom="true"
android:ellipsize="none"
android:lines="1"
android:maxLength="1000000"
android:maxLines="1"
android:textAppearance="?android:attr/textAppearanceLarge" />
这是翻译动画
scrollingTextView = (TextView) findViewById(R.id.rssFeedAutoScrollText);
String feed = "";
try {
feed = feedTask.get();
} catch (InterruptedException e) {
} catch (ExecutionException e) {
}
Log.d("feed", feed);
String rss = feed.replaceAll(
"\\r\\n|\\r|\\n", "");
scrollingTextView.setText(rss);
DisplayMetrics dm = getResources().getDisplayMetrics();
TranslateAnimation m_ta = new TranslateAnimation(dm.widthPixels, -1
* (dm.widthPixels), 0f, 0f);
m_ta.setDuration(20000);
m_ta.setInterpolator(new LinearInterpolator());
m_ta.setRepeatCount(Animation.INFINITE);
scrollingTextView.startAnimation(m_ta);
但是当我编译我的项目textview时,不显示提要字符串的所有符号。 我怎么了
问题是您的动画仅按设备的宽度(dm.widthPixels)而不是RSS feed字符串的实际宽度转换TextView。
例如,如果您的屏幕为600像素宽,并且RSS提要字符串显示的像素超过600像素,则您将无法看到RSS提要的结尾。
尝试使用以下TextView属性:
android:ellipsize="marquee"
android:marqueeRepeatLimit="-1"
android:singleLine="true"
android:scrollHorizontally="true"
编辑:没有TranslateAnimation,TextView具有内置的文本滚动。
TextView已替换为TextSwitcher
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.