android布局垂直滚动,(笔记)Android 多行垂直滚动

这篇博客介绍了如何在Android中实现自定义的垂直滚动视图,通过创建VerticalMarqueeView类,设置动画和监听事件,实现了字符超过两行时的滚动效果,并提供了在Activity中的使用方法和布局配置。
摘要由CSDN通过智能技术生成

前言:最近在Android开发学习中需要用到多行垂直滚动,做好后现将它整理出来。

概述:我这主要是实现两行滚动,如果字符超过两行则滚动,如果少于或等于两行则不滚动,点击按钮停止滚动。

效果图:

8016b7fb7040

image

步骤:

1、新建自定义VerticalMarqueeView java文件。

public class VerticalMarqueeView extends ViewFlipper {

/**

* Alpha animation enable

*/

private boolean isSetAlphaAnim = true;

/**

* Animation interval

*/

private int interval = 5000;

/**

* Animation duration

*/

private int animDuration = 2000;

public VerticalMarqueeView(Context context, AttributeSet attrs) {

super(context, attrs);

init(context, attrs, 0);

}

private void init(Context context, AttributeSet attrs, int defStyleAttr) {

TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.MarqueeViewUp, defStyleAttr, 0);

isSetAlphaAnim = ta.getBoolean(R.styleable.MarqueeViewUp_isSetAlphaAnim, isSetAlphaAnim);

interval = ta.getInteger(R.styleable.MarqueeViewUp_interval, interval);

animDuration = ta.getInteger(R.styleable.MarqueeViewUp_animDuration, animDuration);

setFlipInterval(interval);

// In or out animation: alpha, continuous

AlphaAnimation animationIn = new AlphaAnimation(0, 1);

animationIn.setDuration(animDuration);

AlphaAnimation animationOut = new AlphaAnimation(1, 0);

animationOut.setDuration(animDuration);

// TranslateAnimation: show

TranslateAnimation translateAnimationIn = new TranslateAnimation(

Animation.RELATIVE_TO_SELF, 0.0f,

Animation.RELATIVE_TO_SELF, 0.0f,

Animation.RELATIVE_TO_SELF, 1.0f,

Animation.RELAT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值