1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > Android 循环滚动控件ViewFlipper 可实现跑马灯或轮播图效果

Android 循环滚动控件ViewFlipper 可实现跑马灯或轮播图效果

时间:2019-04-25 16:06:41

相关推荐

Android 循环滚动控件ViewFlipper 可实现跑马灯或轮播图效果

ViewFlipper——Android循环滚动控件

1、效果如下:

2、实现方法

(1)创建进出动画

上下滚动动画

y_in.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="/apk/res/android"><translateandroid:fromYDelta="100%p"android:toYDelta="0"android:duration="1000"/></set>

y_out.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="/apk/res/android"><translateandroid:fromYDelta="0"android:toYDelta="-100%p"android:duration="1000"/></set>

左右滚动动画

x_in.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="/apk/res/android"><translateandroid:fromXDelta="100%p"android:toXDelta="0"android:duration="1000"/></set>

x_out.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="/apk/res/android"><translateandroid:fromXDelta="0"android:toXDelta="-100%p"android:duration="1000"/></set>

(2)layout文件引用ViewFlipper

<ViewFlipperandroid:id="@+id/filpper"android:layout_width="match_parent"android:layout_height="wrap_content"android:autoStart="true"android:flipInterval="2000"android:inAnimation="@anim/x_in"android:outAnimation="@anim/x_out"/>

(3)activity中java代码实现ViewFlipper跑马灯效果

TextView textView;ViewFlipper viewFlipper;

viewFlipper= (ViewFlipper) findViewById(R.id.filpper);for (int i = 0; i < 5; i++) {View view = LayoutInflater.from(getApplicationContext()).inflate(R.layout.layout_custom, null);textView = view.findViewById(R.id.myte1);textView.setText("sssssssss===="+i);viewFlipper.addView(view);}

4、ViewFlipper的item点击事件——demo链接:/download/meixi_android/10815720

5、demo云盘链接:/s/1AvqpfbzCAXtZ-TLVmEUyvw

在线回复云盘密码:qq108520

6、可实现banner轮播图效果

左右跑马灯

<LinearLayoutandroid:id="@+id/ll_bottom"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:background="#FDC74B"><TextViewandroid:id="@+id/tv_message"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginLeft="15pt"android:layout_marginRight="15pt"android:ellipsize="marquee"android:focusable="true"android:focusableInTouchMode="true"android:gravity="center_vertical"android:includeFontPadding="false"android:marqueeRepeatLimit="marquee_forever"android:paddingBottom="15pt"android:paddingTop="15pt"android:singleLine="true"android:textColor="@color/black"android:textSize="36pt" /></LinearLayout>

public class StringUtil {//长度加倍public static String multiplyString(String str, int number) {if (str == null) {throw new NullPointerException("String is null!");}if ("".equals(str)) {throw new IllegalArgumentException("The length of string is zero !");}if (number == 0) {throw new IllegalArgumentException("Number is zero!");}StringBuffer buffer = new StringBuffer();for (int i = 0; i < number; i++) {buffer.append(str);}return buffer.toString();}}

tvMessage.setText(aboutUsResult.getData().getApkmsg() + StringUtil.multiplyString(" ", 30));

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。