Android 横竖跑马灯效果
2016-06-13 09:31
399 查看
1.横向效果:
在xml文件里TextView设置以下属性:
ps:textview里文字长度要超过textview的长度
2.竖向效果:
point:利用ViewFlipper
xml:
代码:
anim:
note_flipper_in:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="-50"
android:toYDelta="0"
android:duration="300"
></translate>
</set>note_flipper_out:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="0"
android:toYDelta="50"
android:duration="300"></translate>
</set>
ps:之所以设置成-50—0—50,是因为textview的height为50,也就是说,只有在动画设置的范围是在大于等于textview的高度的时候,才能出现文字不重叠的效果。
在xml文件里TextView设置以下属性:
android:singleLine="true" android:ellipsize="marquee" android:focusableInTouchMode="true" android:focusable="true" android:marqueeRepeatLimit="-1"//the number of times to repeat marquee animation-1代表循环播放
ps:textview里文字长度要超过textview的长度
2.竖向效果:
point:利用ViewFlipper
xml:
<ViewFlipper android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/flip" >
代码:
private String[] str = {"这是第一个文本","这是第二个文本","这是第三个文本"};
private ViewFlipper viewFlipper;
viewFlipper = (ViewFlipper)view.findViewById(R.id.flip);
for(int i = 0; i < str.length ; i++){ TextView tv = new TextView(getActivity()); tv.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,50)); tv.setText(str[i]); viewFlipper.addView(tv); } viewFlipper.setInAnimation(AnimationUtils.loadAnimation(getActivity(),R.anim.note_flipper_in)); viewFlipper.setOutAnimation(AnimationUtils.loadAnimation(getActivity(),R.anim.note_flipper_out)); viewFlipper.startFlipping();
anim:
note_flipper_in:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="-50"
android:toYDelta="0"
android:duration="300"
></translate>
</set>note_flipper_out:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="0"
android:toYDelta="50"
android:duration="300"></translate>
</set>
ps:之所以设置成-50—0—50,是因为textview的height为50,也就是说,只有在动画设置的范围是在大于等于textview的高度的时候,才能出现文字不重叠的效果。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories