在我的项目中,我使用这个库https://github.com/matshofman/Android-RSS-Reader-Library获取rss feed并解析为string,这是我的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时,不要显示Feed字符串的所有符号。我的问题是什么?
答案 0 :(得分:3)
问题是你的动画只能通过设备的宽度(dm.widthPixels)来翻译TextView,而不是RSS提要字符串的实际宽度。
例如,如果您的屏幕宽度为600像素,并且如果要显示的RSS源字符串超过600像素,您将无法看到RSS源的结尾。
答案 1 :(得分:0)
尝试使用TextView的以下属性:
android:ellipsize="marquee"
android:marqueeRepeatLimit="-1"
android:singleLine="true"
android:scrollHorizontally="true"
编辑:没有TranslateAnimation,TextView内置了文本滚动。
答案 2 :(得分:0)
TextView已被替换为TextSwitcher