Android uses ViewFlipper to scroll up and down messages
- 2021-09-20 21:33:45
- OfStack
This article example for everyone to share Android using ViewFlipper to achieve up and down scrolling message code, for your reference, the specific content is as follows
1. Add the layout of ViewFlipper to the interface layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_notice_root"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="#ffe4c3"
android:gravity="center_vertical"
android:orientation="horizontal">
<ViewFlipper
android:id="@+id/vf_notice_scroll"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>
2. Create the sublayout notice_item file to scroll through
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_notice_item_itle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_weight="1"
android:text=" Title "
android:textColor="#9B6916"
android:textSize="12dp"/>
<TextView
android:id="@+id/tv_notice_item_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:text="06:28"
android:textColor="#999999"
android:textSize="12dp"/>
</LinearLayout>
3. Create translation and gradient animation files
(1) Approach animation notice_in file
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="500"
android:fromYDelta="100.0%p"
android:toYDelta="0.0"/>
<alpha
android:duration="500"
android:fromAlpha="0.0"
android:toAlpha="1.0"/>
</set>
(2) Departure animation notice_out file
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="500"
android:fromYDelta="0.0"
android:toYDelta="-100.0%p"/>
<alpha
android:duration="500"
android:fromAlpha="1.0"
android:toAlpha="0.0"/>
</set>
4. Add sub-layout to the list in Activity to realize scrolling up and down
public void startFlipping(Context context, ViewFlipper vf, ArrayList<MessageBean> infos){
vf.setInAnimation(context, R.anim.notice_in);
vf.setOutAnimation(context, R.anim.notice_out);
int len = infos.size();
for (int i = 0; i < len; i++) {
MessageBean info = infos.get(i);
View v = ((Activity) context).getLayoutInflater().inflate(R.layout.notice_item, null);
TextView titleTv = (TextView) v.findViewById(R.id.tv_notice_item_title);
titleTv.setText(info.title);
TextView timeTv = (TextView) v.findViewById(R.id.tv_notice_item_time);
timeTv.setText(info.time);
vf.addView(v);
}
vf.startFlipping();
}