最開(kāi)始是有一個(gè)無(wú)限循環(huán)跑馬燈的需求终娃,簡(jiǎn)言之就是字幕滾動(dòng)效果,跑起來(lái)之后突然又問(wèn)字體顏色可不可以動(dòng)態(tài)修改蒸甜?于是有了下文.....
動(dòng)態(tài)修改TextView的顏色值textColor
- 后臺(tái)直接可以返回一個(gè)String類型的顏色值
如
#99FFFFFF
#FFFFFF
帶透明度和不帶透明度的都是可以的
- 安卓端的代碼
int color = Color.parseColor("#99FFFFFF"); //將String類型的color轉(zhuǎn)為int類型的color值
textview.setTextColor(color); //將int類型的color值設(shè)置給textview
遇到的坑
查閱資料是發(fā)現(xiàn)textview.setTextColor(0x99FFFFFF)代碼這樣寫(xiě)是可以的尝抖,
通知后臺(tái)返回了一個(gè)"0x99FFFFFF",然后通過(guò)
Integer.valueOf();
Integer.decode()
這兩種方法將String類型的值轉(zhuǎn)化成int,直接就報(bào)紅了
附上永久跑碼燈效果的TextView代碼
public class ScrollingTextView extends TextView {
public ScrollingTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public ScrollingTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ScrollingTextView(Context context) {
super(context);
}
@Override
protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
if (focused)
super.onFocusChanged(focused, direction, previouslyFocusedRect);
}
@Override
public void onWindowFocusChanged(boolean focused) {
if (focused)
super.onWindowFocusChanged(focused);
}
@Override
public boolean isFocused() {
return true;
}
}