android 傳統的跑馬燈效果是文字要在跑在左側最後乙個文字消失了,然後才從右邊位置繼續跑,這種效果不太好,我這個實現是但文字跑到左側還有比如100px的時候 右邊就開始跑了,說也說不清楚,看效果
自定義跑馬燈view
package com.example.aa;布局檔案:import android.content.context;
import android.graphics.canvas;
import android.graphics.color;
import android.graphics.paint;
import android.os.handler;
import android.os.message;
import android.text.textutils;
import android.util.attributeset;
import android.util.log;
import android.view.view;
import android.view.windowmanager;
public class marqueetext extends view
if(math.abs(x)>=strwidth)
if(isscrollin)
}else
if(isscrollout)
}invalidate();
mhandler.sendemptymessagedelayed(1
,50);
} }
};public marqueetext(context context)
public marqueetext(context context, attributeset attrs)
public marqueetext(context context, attributeset attrs, int defstyleattr)
@override
protected void
ondraw(canvas canvas)
if(isscrollin)
}if(!ismeasure)
}@override
protected void
onmeasure(int widthmeasurespec, int heightmeasurespec)
@override
public void
onwindowfocuschanged(boolean haswindowfocus) else
}public static int
dip2px(context context, float dpvalue)
/*** 根據手機的解析度從
px(畫素
) 的單位 轉成為
dp*/
public static int
px2dip(context context, float pxvalue)
}
xmlns:效果:android
=""android
:layout_width=
"match_parent"
android
:layout_height=
"match_parent"
android
:background=
"#ffffff"
>
android
:layout_width=
"match_parent"
android
:layout_height=
"wrap_content"
android
:layout_margintop=
"120px"
/>
android 文字跑馬燈效果
實現文字跑馬燈效果可以在xml中設定相應屬性,也可以在 中動態控制。xml 幾個重要的屬性 設定一直滾動 android marqueerepeatlimit marquee forever 表示乙個edittext滿了後是自動橫著移動不是預設的換行 android scrollhorizontal...
跑馬燈效果
cgrect frame labelshow.frame frame.origin.x 180 labelshow.frame frame uiview beginanimations testanimation context null uiview setanimationduration 8....
跑馬燈效果
一句話概括,平移再畫一次。textview 預設就支援跑馬燈效果,但需要設定一些東西,滿足一些條件。但我想知道它的原理。看這效果,就是平滑移動 textview 的內容,這不就是 mscrollx 幹的嗎,結合 valueanimator 很容易就實現了。難點在於,把文字的頭部重新從右邊開始畫出來。...