跑馬燈實現的三種方式

2021-07-27 15:55:17 字數 1953 閱讀 3728

實現跑馬燈的三種方式:分別是直接用控制項、自定義乙個horizontalscrollview和自定義乙個textview。

一、直接使用控制項:

優點:使用簡單

缺點:可擴充套件性差

使用:直接在xml檔案中新增如下**即可:

二、自定義乙個horizontalscrollview

利用水平滑動的scrollview來實現。

使用:首先自定義乙個horizontalscrollview控制項,然後在xml檔案中使用即可(注意在xml中使用自定義控制項需要控制項的全包名)。

1.自定義的控制項**如下:

public class horizontalscorlltextview extends horizontalscrollview implements runnable

public horizontalscorlltextview(context context, attributeset attrs)

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

void initview(context context)

public void settext(string text)

private void startscroll()

@override

public void run()

postdelayed(this, 50);

}}

2.在xml中使用時如下:

三.使用自定義的textview來實現:

使用:首先自定義乙個textview控制項,然後在xml檔案中使用即可(注意在xml中使用自定義控制項需要控制項的全包名)。

1.自定義的控制項**如下:

public class marqueetextviewnew extends textview implements runnable 

public marqueetextviewnew(context context, attributeset attrs)

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

@override

protected void ondraw(canvas canvas)

}/**

* 獲取文字寬度

*/private void gettextwidth()

@override

public void run()

if (currentscrollx > textwidth)

// if (getscrollx() <= -(this.getwidth()))

postdelayed(this, 5);

}// 開始滾動

public void startscroll()

// 停止滾動

public void stopscroll()

// 從頭開始滾動

public void startfor0()

@override

public void settext(charsequence text, buffertype type)

@override

public void destroydrawingcache()

}

2.在xml中的使用如下:

前端學習 實現跑馬燈的三種方式

參考部落格 文中提出了三種實現跑馬燈的方式,分別是1.利用js實現2.利用html標籤實現3.利用css實現 文中也給出了3種方法優劣的比較,這裡不再贅述 三玖是我老婆,春日野穹是我妹妹 move window.onload function function moveright move.styl...

簡單實現跑馬燈

1.可以自己實現自定義view public class marqueetestview extends textview implements runnable 畫筆工具 override protected void ondraw canvas canvas override public vo...

jQuery實現跑馬燈

前段時間做專案乙個需求,輪播方式實現不了,自己寫了乙個跑馬燈實現效果。html class container class scroll div class scroll begin href 文字1a li href 文字2a li href 文字3a li href 文字4a li href 文...