
实现代码:
public class ScrollBanner extends LinearLayout {private TextView mBannerTV1;private TextView mBannerTV2;private Handler handler;private boolean isShow;private int startY1, endY1, startY2, endY2;private Runnable runnable;private List<String> list;private int position = 0;private int offsetY = 100;public ScrollBanner(Context context) {this(context, null);}public ScrollBanner(Context context, AttributeSet attrs) {this(context, attrs, 0);}public ScrollBanner(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);View view = LayoutInflater.from(context).inflate(R.layout.view_scroll_banner, this);mBannerTV1 = (TextView) view.findViewById(R.id.tv_banner1);mBannerTV2 = (TextView) view.findViewById(R.id.tv_banner2);handler = new Handler();runnable = new Runnable() {@Overridepublic void run() {isShow = !isShow;if (position == list.size())position = 0;if (isShow) {mBannerTV1.setText(list.get(position++));} else {mBannerTV2.setText(list.get(position++));}startY1 = isShow ? 0 : offsetY;endY1 = isShow ? -offsetY : 0;ObjectAnimator.ofFloat(mBannerTV1, "translationY", startY1, endY1).setDuration(300).start();startY2 = isShow ? offsetY : 0;endY2 = isShow ? 0 : -offsetY;ObjectAnimator.ofFloat(mBannerTV2, "translationY", startY2, endY2).setDuration(300).start();handler.postDelayed(runnable, 3000);}};}public List<String> getList() {return list;}public void setList(List<String> list) {this.list = list;}public void startScroll() {handler.post(runnable);}public void stopScroll() {handler.removeCallbacks(runnable);}}view_scroll_banner.xml:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"android:padding="10dp"><TextViewandroid:id="@+id/tv_title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:text="公告"android:textColor="#e76712"android:textSize="16sp" /><Viewandroid:id="@+id/view_divider"android:layout_width="1dp"android:layout_height="match_parent"android:layout_marginLeft="10dp"android:layout_marginRight="10dp"android:layout_toRightOf="@id/tv_title"android:background="#DDDDDD" /><TextViewandroid:id="@+id/tv_banner1"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_centerVertical="true"android:layout_toRightOf="@+id/view_divider"android:ellipsize="end"android:singleLine="true"android:text="热烈欢迎领导光临" /><TextViewandroid:id="@+id/tv_banner2"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_centerVertical="true"android:layout_toRightOf="@+id/view_divider"android:ellipsize="end"android:singleLine="true"android:text="喜庆国庆欢乐大酬宾" /></RelativeLayout>使用方法:
scrollBanner.setList(list);scrollBanner.startScroll();以上就是本文的全部内容,希望对大家学习Android软件编程有所帮助,也希望大家多多支持脚本之家。