参考 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;
}
}
}
运行效果如下,代码见附件
相关推荐
实现textView 跑马灯效果
android TextView 跑马灯效果; 具体说明可以看这里 http://blog.csdn.net/q610098308/article/details/49451537
android三种方式实现TextView跑马灯效果
简单的textview 跑马灯效果 可直接使用
textview跑马灯效果,文字滚动效果
老罗视频代码textview跑马灯效果,
Android自带的跑马灯效果不太好控制,还必须要满足条件才能有效果,而且速度不受控制。前面我的博客中有一篇就是用Android自带的跑马灯效果的,但是基于不同的使用效果,这里在网上找到了一个更好的方法。沿用了作者...
几行代码实现TextView跑马灯效果
ListView每项跑马灯效果,TextView跑马灯自己写的Demo
textView实现的跑马灯效果,仅供各路大神检阅......
TextView循环改变大小的跑马灯效果
一个垂直滚动TextView跑马灯效果的Demo,效果很棒
遇到一行文字过长不能全部显示时,需要滚动显示,可下载此代码,研究跑马灯效果的实现方法。
textview显示跑马灯效果,使用的是继承的方法onDraw不停地绘制 优点: 1.文字长短不限哦 2.不用非得获取焦点哦
实现了TextView系统跑马灯效果,但当textview的长度超过指定长才有效果。
自定义TextView实现竖直跑马灯效果,特殊字符串改变颜色
主要为大家详细介绍了android TextView实现跑马灯效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
跑马灯效果MarqueTextView textview 循环 跑马灯效果.7z
通过改变TextView实现跑马灯效果,并且触摸滑动时可以拖动文字.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。