TextView可控的跑馬燈,無需焦點

2021-10-09 12:50:12 字數 2110 閱讀 5641

參考:android開發:textview真正可控、不需要焦點的水平滾動–這才是真正的跑馬燈

直接上乾貨:

package com.android.view;

import android.content.context;

import android.graphics.canvas;

import android.os.handler;

import android.os.message;

import android.text.layout;

import android.text.textpaint;

import android.util.attributeset;

import android.widget.textview;

public class marqueetextview extends textview

public boolean ismstopmarquee()

public void setmstopmarquee(boolean mstopmarquee)

public void setcurrentposition(float mcoordinatex)

public int getscrollwidth()

public void setscrollwidth(int mscrollwidth)

public int getspeed()

public void setspeed(int speed)

public marqueetextview(context context, attributeset attrs)

public void settext(string text)

@override

protected void onattachedtowindow()

public static boolean isempty(string str)

@override

protected void ondetachedfromwindow()

@override

protected void ondraw(canvas canvas)

if (!isempty(mtext))

}private handler mhandler = new handler() else

invalidate();

} else else

invalidate();

}break;

}super.handlemessage(msg);}};

}

控制**:

viewholder.title = (marqueetextview) view.findviewbyid(r.id.music_name);

viewgroup.marginlayoutparams margin1 = new viewgroup.marginlayoutparams(

viewholder.title.getlayoutparams());

0, 0, 0);//設定滾動區域位置:在左邊距400畫素,頂邊距10畫素的位置

linearlayout.layoutparams layoutparams1 = new linearlayout.layoutparams(margin1);

= 60;//設滾動區域高度

= 400; //設定滾動區域寬度

layoutparams1.weight = 1;

viewholder.title.setlayoutparams(layoutparams1);

viewholder.title.setscrollwidth(600);

viewholder.title.setcurrentposition(0);//設定滾動資訊從滾動區域的右邊出來

viewholder.title.setspeed(2);

viewholder.title.setmstopmarquee(true);

裡面引數可隨意調整,期中viewholder.title.setmstopmarquee(true);true為停止,false為滾動

TextView 跑馬燈效果

本文實現了android系統自帶的跑馬燈效果 marquee 與自定義的跑馬燈效果的對比。1.在系統自帶的跑馬燈中,xml布局檔案必須配置的屬性有以下幾個 1 android clickable true 2 android ellipsize marquee 3 android focusable...

TextView跑馬燈的實現

在textview屬性中有這樣的乙個屬性 android ellipsize 設定當文字過長時,該控制項該如何顯示。有如下值設定 start 省略號顯示在開頭 end 省略號顯示在結尾 middle 省略號顯示在中間 marquee 以跑馬燈的方式顯示 動畫橫向移動 好像跑馬燈這種效果已經不用咱們來...

TextView實現跑馬燈效果

這段 粘上就可用 顯示跑馬燈效果的前提條件就是你的文字內容要比顯示文字的外部元件長,即外部元件無法完整的顯示內部的文字內容。因此要實現跑馬燈效果有兩種設定方式 1 layout width 設定為成比文字內容短的固定值,最好不要寫成wrap content或者fill parent。2 如果layo...