Skip to content

Commit

Permalink
init Commit
Browse files Browse the repository at this point in the history
  • Loading branch information
zrunker committed Feb 2, 2018
1 parent 0f0577a commit cd1a9d6
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 16 deletions.
14 changes: 10 additions & 4 deletions app/src/main/java/cc/ibooker/ztextview/MainActivity.java
Expand Up @@ -2,6 +2,7 @@

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.Html;
import android.widget.TextView;
import android.widget.Toast;

Expand All @@ -12,7 +13,7 @@
import cc.ibooker.ztextviewlib.SpannableStringTextViewUtil;

public class MainActivity extends AppCompatActivity implements AutoVerticalScrollTextViewUtil.OnMyClickListener {
private ArrayList<String> list;
private ArrayList<CharSequence> list;
private AutoVerticalScrollTextViewUtil aUtil;

@Override
Expand All @@ -23,8 +24,13 @@ protected void onCreate(Bundle savedInstanceState) {
AutoVerticalScrollTextView textView = (AutoVerticalScrollTextView) findViewById(R.id.autoVerticalScrollTextView);

list = new ArrayList<>();
for (int i = 0; i < 5; i++)
list.add("测试垂直滚动" + i);
for (int i = 0; i < 5; i++) {
if (i == 0 || i == 2 || i == 4) {
list.add(Html.fromHtml("<font color='#FF7198'>" + "测试垂直滚动" + "</font>" + i + "特殊"));
} else {
list.add("测试垂直滚动" + i);
}
}

// 初始化
aUtil = new AutoVerticalScrollTextViewUtil(textView, list);
Expand Down Expand Up @@ -86,7 +92,7 @@ protected void onCreate(Bundle savedInstanceState) {

// autoVerticalScrollTextView点击事件监听
@Override
public void onMyClickListener(int position, String title) {
public void onMyClickListener(int position, CharSequence title) {
Toast.makeText(this, list.get(position) + " --- " + title, Toast.LENGTH_SHORT).show();
if (aUtil.getIsRunning())
// 停止滚动
Expand Down
5 changes: 1 addition & 4 deletions app/src/main/res/layout/activity_main.xml
Expand Up @@ -2,6 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="vertical">

<!--系统跑马灯-->
Expand All @@ -20,9 +21,6 @@
<cc.ibooker.ztextviewlib.MarqueeTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:text="@string/marquee_content" />

<!--垂直滚动TextView-->
Expand All @@ -45,4 +43,3 @@
android:layout_height="wrap_content"
android:padding="10dp" />
</LinearLayout>

Expand Up @@ -128,5 +128,4 @@ protected void applyTransformation(float interpolatedTime, Transformation t) {
matrix.postTranslate(centerX, centerY);
}
}

}
Expand Up @@ -30,12 +30,12 @@ public class AutoVerticalScrollTextViewUtil {
private int number = 0;// 用来记录滚动次数
private int currentPos = 0;// 标记当前显示哪一项

private ArrayList<String> mDatas = new ArrayList<>();// 需要轮播的数据源
private ArrayList<CharSequence> mDatas = new ArrayList<>();// 需要轮播的数据源

private String title;// 需要改变TextView上面的文本内容
private CharSequence title;// 需要改变TextView上面的文本内容

// 构造方法
public AutoVerticalScrollTextViewUtil(final AutoVerticalScrollTextView textView, ArrayList<String> datas) {
public AutoVerticalScrollTextViewUtil(final AutoVerticalScrollTextView textView, ArrayList<CharSequence> datas) {
this.mDatas = datas;
this.textView = textView;
// 控件点击事件监听
Expand Down Expand Up @@ -130,7 +130,7 @@ public void handleMessage(Message msg) {

// 点击事件监听
public interface OnMyClickListener {
void onMyClickListener(int position, String title);
void onMyClickListener(int position, CharSequence title);
}

private OnMyClickListener onMyClickListener;
Expand Down
@@ -1,6 +1,7 @@
package cc.ibooker.ztextviewlib;

import android.content.Context;
import android.text.TextUtils;
import android.util.AttributeSet;

/**
Expand All @@ -10,18 +11,30 @@
public class MarqueeTextView extends android.support.v7.widget.AppCompatTextView {

public MarqueeTextView(Context context) {
super(context);
this(context, null);
}

public MarqueeTextView(Context context, AttributeSet attrs) {
super(context, attrs);
this(context, attrs, 0);
}

public MarqueeTextView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}

// 焦点
// 初始化
private void init() {
// 设置文本超出部分模式
this.setEllipsize(TextUtils.TruncateAt.MARQUEE);
// 设置跑马灯重复次数,-1为无限重复
this.setMarqueeRepeatLimit(-1);
// 单行显示
this.setSingleLine(true);
this.setMaxLines(1);
}

// 焦点 聚焦
@Override
public boolean isFocused() {
return true;
Expand Down

0 comments on commit cd1a9d6

Please sign in to comment.