Android之跑馬燈

2021-09-02 19:04:52 字數 1613 閱讀 6862

不好直接上專案效果圖所以就做了乙個簡單的demo放手機上顯示效果了。

做起來也很簡單,在布局檔案裡面設定幾個屬性就ok.

先上效果圖:

設定如下。

//設定為跑馬燈顯示

android:ellipsize="marquee"

//獲取焦點

android:focusable="true"

//可以通過toucth來獲得focus

android:focusableintouchmode="true"

//單行顯示文字

android:singleline="true"

//設定重複的次數

android:marqueerepeatlimit="marquee_forever"

其實主要是想講下多行跑馬燈,首先直接上圖:

如果要設定多行的話

首先我們寫乙個類,繼承textview這個類,實現它的構造方法,重寫isfocused()方法 ,將它的返回值都為true

如果有彈窗之類的導致無作用的話我們可以直接重寫onwindowfocuschanged()方法,將super方法屏注釋掉。

import android.content.context;

import android.graphics.rect;

import android.util.attributeset;

import android.widget.textview;

public class marqueetextview extends textview

public marqueetextview(context context, attributeset attrs, int defstyle)

public marqueetextview(context context, attributeset attrs)

@override

public boolean isfocused()

@override

protected void onfocuschanged(boolean focused, int direction, rect previouslyfocusedrect)

@override

public void onwindowfocuschanged(boolean haswindowfocus)

}

核心**就是isfocused()和onwindowfocuschanged()方法。

布局檔案如下:

其實就和前面是一樣的 當然也可以在**裡面設定這些屬性,布局裡面就不用設定了。

android 文字跑馬燈效果

實現文字跑馬燈效果可以在xml中設定相應屬性,也可以在 中動態控制。xml 幾個重要的屬性 設定一直滾動 android marqueerepeatlimit marquee forever 表示乙個edittext滿了後是自動橫著移動不是預設的換行 android scrollhorizontal...

Android監聽TextView跑馬燈的狀態

最近專案需要乙個需求,要求在textview跑馬燈狀態結束後隱藏整個控制項。可惜android並沒有提供這樣介面來通知我們跑馬燈狀態是否結束,因此我們只能自己來做。最開始一點思路都沒有,後來想了乙個奇葩的辦法 因為跑馬燈在運動的時候,每次都會呼叫ondraw 方法,我想如果我在ondraw方法裡面寫...

跑馬燈效果

cgrect frame labelshow.frame frame.origin.x 180 labelshow.frame frame uiview beginanimations testanimation context null uiview setanimationduration 8....