一.  单独TextView的走马灯效果

1. 单独TextView走马灯效果的话比较好实现,它的运行效果如下:

5a597789c99ddadcaf5e78b8c4dc9fcc.png

97cfc1cb7961d228a50a756e26c72432.png

d86a14d709909a81d23c9d91fc1d2804.gif 1.png (10.53 KB)

2014-2-9 21:57

单独TextView的走马灯效果

2. 实现代码

尽管比较简单,还是上传下关键的代码:

a.  布局文件

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".MainActivity" >

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/hello_world"

android:focusable="true"

android:focusableInTouchMode="true"

android:scrollHorizontally="true"

android:marqueeRepeatLimit="marquee_forever"

android:ellipsize="marquee"

android:singleLine="true"

/>

b.  代码文件:package com.example.androidtest;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

}还是比较简单的哈。。。

二  ListView中TextView的走马灯效果实现

由于在ListView中,TextView的焦点获取存在问题,如果单纯按照上面写的话,不会有走马灯效果的。。

所以,在listView中,我们需要设置下面几个步骤:

1.  布局文件

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:text="@string/app_name"

android:scrollHorizontally="true"

android:marqueeRepeatLimit="marquee_forever"

android:ellipsize="marquee"

android:singleLine="true"

android:id="@+id/video_item_name"

/>2. 代码文件

在ListView的 Adapter里面,设置TextView.setSelected(true);就可以了public void bindView(View view, Context context, Cursor cursor) {

TextView tvDotaName = (TextView) view.findViewById(

R.id.video_item_name);

String itemName = cursor.getString(cursor.getColumnIndex("column_laugh_title"));

String id = cursor.getString(cursor.getColumnIndex("_id"));

String isFav = cursor.getString(cursor.getColumnIndex("column_is_fav"));

view.setTag(id);

tvDotaName.setText(itemName);

[color=Blue]tvDotaName.setSelected(true);[/color]

}3. 运行效果:

5a597789c99ddadcaf5e78b8c4dc9fcc.png

78b69f081bdc2839a9c5c31db1d87b9b.png

d86a14d709909a81d23c9d91fc1d2804.gif 2.png (101.74 KB)

2014-2-9 21:57

ListView中 TextView的走马灯效果

比较简单的设置,不过如果不注意的话,就弄不出效果,呵呵...

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐