# Marquee
**Repository Path**: isunsky/Marquee
## Basic Information
- **Project Name**: Marquee
- **Description**: 仿淘宝头条垂直滚动,垂直走马灯,公告
- **Primary Language**: Android
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 5
- **Forks**: 0
- **Created**: 2017-06-09
- **Last Updated**: 2025-12-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Marquee-master
仿淘宝首页的淘宝头条垂直滚动
滚动布局继承了是ViewFlipper,可以实现进入动画,退出动画,设置切换时间间隔。
MarqueeView可用于多行或单行滚动,滚动的布局可以自定义。
### 效果图
### 使用介绍
#### 1、添加依赖
##### Step 1. Add it in your root build.gradle at the end of repositories:
```
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
```
##### Step 2. Add the dependency
```
dependencies {
compile 'com.github.sun-sky:Marquee:1.0.0'
}
```
#### 2、在布局文件中添加MarqueeView,可以设置自定义属性
**xml文件**
```xml
```
**Attributes:**
|attr属性|description 描述|default vuale 默认值|
|:---|:---|:---|
|isSetAlphaAnim|是否显示淡入淡出动画|true|
|interval|切换间隔时间|5000(5秒)|
|animDuration|动画时间|2000(2秒)|
#### 3、Activity中使用
**控件初始化**
```java
marqueeView1 = (MarqueeView) findViewById(R.id.upview1);
initdata();
setViewSingleLine();
marqueeView1.setViews(views1);
```
**初始化数据**
```java
private void initdata() {
data = new ArrayList<>();
data.add("git常用命令");
data.add("Git配置SSH访问GitHub(window)");
data.add("关于java的抽象和接口");
data.add("阿里HotFix2.0升级详解 畅谈热修复领域那些事");
}
```
**初始化view队列**
```java
/**
* 自定义布局——单行滚动
*/
private void setViewSingleLine() {
for (int i = 0; i < data.size(); i++) {
final int position = i;
//设置滚动的单个布局
LinearLayout moreView = (LinearLayout) LayoutInflater.from(this).inflate(R.layout.item_view_single, null);
//初始化布局的控件
TextView tv1 = (TextView) moreView.findViewById(R.id.tv1);
/**
* 设置监听
*/
moreView.findViewById(R.id.rl).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(), position + "你点击了" + data.get(position).toString(), Toast.LENGTH_SHORT).show();
}
});
//进行对控件赋值
tv1.setText(data.get(i).toString());
//添加到循环滚动数组里面去
views2.add(moreView);
}
}
```
#### 4、重影问题可参考以下解决方案
```java
@Override
public void onResume() {
super.onResume();
mallHomeMarquee.startFlipping();
}
@Override
public void onPause() {
super.onPause();
mallHomeMarquee.stopFlipping();
}
```
# Thanks
该项目参考了:
* [https://github.com/dreamlivemeng/UpMarqueeTextView-master](https://github.com/dreamlivemeng/UpMarqueeTextView-master)
# 关于我
#### Sunsky
#### [我的简书](http://www.jianshu.com/u/562d62d52334)
#### ⊙开源不易,希望给个star或者fork奖励