Android中的Xml属性一直自带有跑马灯的效果,但是因为使用并不是很广泛,所以扩展性并不太好
使用原因:
简单,方便,扩展性强,作者在持续跟新。
解决了重影问题,内部封装动画。
正式使用:
build :
compile 'com.sunfusheng:marqueeview:1.3.3'
Xml 引用:
<com.sunfusheng.marqueeview.MarqueeView
android:id="@+id/marqueeView"
android:layout_width="match_parent"
android:layout_height="30dp"
app:mvAnimDuration="1000"
app:mvDirection="bottom_to_top"
app:mvInterval="3000"
app:mvTextColor="@color/colorAccent"
app:mvTextSize="14sp"
app:mvSingleLine="true"/>
完整代码
MainActivity :
package com.example.yongliu.marqueeview;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import com.sunfusheng.marqueeview.MarqueeView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private MarqueeView marqueeView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
marqueeView = (MarqueeView) findViewById(R.id.marqueeView);
List<String> info = new ArrayList<>();
info.add("May be");
info.add("you");
info.add("are");
info.add("best man !");
// 在代码里设置自己的动画
marqueeView.startWithList(info, R.anim.anim_bottom_in, R.anim.anim_top_out);
}
//解决重影// @Override// public void onStart() {// super.onStart();// marqueeView.startFlipping();// }
// @Override// public void onStop() {// super.onStop();// marqueeView.stopFlipping();// }
}