参考 http://blog.csdn.net/sky181772733/article/details/7003125
在前一篇讲到ListView中TextView跑马灯效果的问题。一种比较友好的方式是,ListView中只有被选中项才会触发跑马灯效果。
实现的思路是:监听到ListView的onItemClick事件时记录当前item的postion,并通知adapter数据发生改变(另一个item被选中,selected状态改变),需要getView更新View(之前selected的item停止跑马灯效果,当前selected的item开始跑马灯效果)。 下面看看是具体怎么实现的,
public class MainActivity extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final MyArrayAdapter adapter = new MyArrayAdapter(this,
R.layout.list_item, R.id.textView1);
adapter.add("超长的文本超长的文本超长的文本");
adapter.add("超长的文本超长的文本超长的文本");
adapter.add("超长的文本超长的文本超长的文本");
adapter.add("超长的文本超长的文本超长的文本");
adapter.add("超长的文本超长的文本超长的文本");
adapter.add("超长的文本超长的文本超长的文本");
getListView().setAdapter(adapter);
getListView().setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// 设置选中项
adapter.setSelectedIndex(position);
// 通知adapter数据发生变化(TextView的selected状态发生变化)
adapter.notifyDataSetChanged();
}
});
}
class MyArrayAdapter extends ArrayAdapter<String> {
public MyArrayAdapter(Context context, int resource,
int textViewResourceId) {
super(context, resource, textViewResourceId);
}
private int mSelectedIndex;
public void setSelectedIndex(int index) {
this.mSelectedIndex = index;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
TextView tv = (TextView) v.findViewById(R.id.textView1);
if (mSelectedIndex == position) {
tv.setSelected(true);
} else {
tv.setSelected(false);
}
return v;
}
}
}
运行效果如下,代码见附件
相关推荐
总的来说,Android的TextView跑马灯效果是通过结合XML布局属性和代码控制实现的,它为展示长文本提供了灵活的解决方案,特别是在有限的空间内。理解和掌握这个功能对于Android开发者来说非常有用,可以提升用户体验...
通过以上步骤,我们可以实现一个基本的TextView跑马灯效果。如果要实现更复杂的滚动效果,例如垂直滚动或自定义动画,可能需要使用其他技术,如自定义ViewGroup或使用第三方库。在实际开发中,根据项目需求选择最...
以上就是关于在Android中实现TextView跑马灯效果的主要技术点。在实际项目中,开发者可以根据需求调整这些设置,以达到理想的跑马灯滚动效果。文件"newZx1"可能包含了一个示例项目或代码片段,用于演示如何实现这一...
本篇文章将详细讲解三种实现TextView跑马灯效果的方法。 ### 1. 使用`ellipsize`属性 #### 1.1 XML布局配置 首先,在XML布局文件中,可以通过设置`ellipsize`属性为`marquee`来开启跑马灯效果。同时,`singleLine...
综上所述,"老罗视频代码textview跑马灯效果"主要涉及的是Android中TextView的跑马灯效果实现,包括XML属性配置、代码逻辑设置以及可能遇到的问题和解决策略。通过理解这些知识点,开发者可以灵活地在自己的应用中...
在TestPMD2这个项目中,可能包含了实现TextView跑马灯效果的相关代码示例或资源文件,你可以查阅这些文件来学习和理解具体实现方法。通过这些知识,你就能创建出具有跑马灯效果的TextView,为你的Android应用增添...
在Android开发中,"特效-textView跑马灯"是一种常见的UI动态效果,它通常用于显示滚动的文字信息,比如新闻标题或者广告标语。这种效果模仿了实际生活中的跑马灯,即文字在一个固定区域里循环滚动,给人一种连续不断...
通过分析这些测试,开发者可以更好地理解和掌握在不同情况下的TextView跑马灯效果,以应对实际开发中的各种需求。 总之,实现TextView的跑马灯效果需要注意焦点、宽度、延迟启动、嵌套视图等因素。通过对这些问题的...
Android自带的跑马灯效果不太好控制,还必须要满足条件才能有效果,而且速度不受控制。前面我的博客中有一篇就是用Android自带的跑马灯效果的,但是基于不同的使用效果,这里在网上找到了一个更好的方法。沿用了作者...
本教程主要围绕如何在Android中使用`TextView` 实现跑马灯效果展开。首先,我们需要了解`TextView` 的基本属性和设置方法。在XML布局文件中,我们可以这样创建一个`TextView`: ```xml <TextView android:id="@+id...
综上所述,这个"Android ListView,TextView跑马灯Demo"展示了如何在ListView的每一项中实现TextView的跑马灯效果。通过正确设置TextView的属性和ListView的焦点管理,我们可以在应用中创建出动态、吸引人的UI元素,...
标题“textview(跑马灯效果)文字长短不限循环播放”所描述的就是这样一个功能,即在TextView中实现一个不受文本长度限制、可以自动循环滚动的跑马灯效果,而且这个效果不需要TextView获取焦点也能运行。...
在一些场景下,我们可能希望让文本在`TextView`中像跑马灯一样循环滚动,这就是所谓的“跑马灯效果”。这种效果通常在通知栏、标题或者状态提示等地方使用,以节省屏幕空间并展示较长的文本内容。本文将详细介绍如何...
在Android开发中,"TextView循环改变大小的跑马灯效果"是一种常见的动态UI设计,它可以使文本在TextView中持续滚动并动态改变大小,营造出引人注目的视觉体验。跑马灯效果通常用于显示较长的文本,当文本无法完全...
以上就是关于Android中TextView跑马灯效果的基本介绍和实现方法。通过合理设置属性和编写适当的代码,我们可以创建出满足需求的跑马灯效果。同时,自定义的MarqueeTextView可能会提供更丰富的定制选项,以适应各种...
然而,为了增强用户体验,开发者常常会为TextView添加各种动画效果,如跑马灯、闪烁和跳动等。这些动态效果可以吸引用户的注意力,使得应用更加生动有趣。 首先,让我们来讨论“跑马灯”效果。跑马灯,又称为滚动...
"Android自定义TextView跑马灯效果" Android 自定义TextView跑马灯效果是指在 Android 平台上通过自定义TextView实现跑马灯滚动效果。下面是关于Android自定义TextView跑马灯效果的知识点: 1. TextView 的跑马灯...
- 由于性能和用户体验考虑,`TextView`的跑马灯效果默认不会立即启动,而是需要等待一段时间,用户可以通过修改`marqueeRepeatLimit`属性来控制滚动次数,设为0表示无限滚动。 - 如果布局中有多个`TextView`设置了...
2. `android:ellipsize`:设置为`marquee`,激活跑马灯效果。这将使得文本在达到边界时开始滚动。 当然,为了使跑马灯效果正常工作,还需要满足以下条件: - TextView的宽度必须小于其内容的宽度,否则文本不会...