亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android實現歌詞滾動效果

2019-10-21 21:36:00
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Android實現歌詞滾動效果的具體代碼,供大家參考,具體內容如下

自定義TextView

public class VerticalScrollTextView extends TextView { private Paint mPaint; private float mX; private Paint mPathPaint;  public int index = 0; private List<Sentence> list; public float mTouchHistoryY; private int mY;  private float middleY;// private static final int DY = 40; // public VerticalScrollTextView(Context context) {  super(context);  init(); } public VerticalScrollTextView(Context context, AttributeSet attr) {  super(context, attr);  init(); } public VerticalScrollTextView(Context context, AttributeSet attr, int i) {  super(context, attr, i);  init(); } private void init() {  setFocusable(true);  if(list==null){   list=new ArrayList<Sentence>();   Sentence sen=new Sentence(0," ");   list.add(0, sen);  }    //   mPaint = new Paint();  mPaint.setAntiAlias(true);  mPaint.setTextSize(24);  mPaint.setColor(Color.BLACK);  mPaint.setAlpha(80);  mPaint.setTypeface(Typeface.SERIF);  //   mPathPaint = new Paint();  mPathPaint.setAntiAlias(true);  mPathPaint.setColor(Color.RED);  mPathPaint.setTextSize(24);  mPathPaint.setTypeface(Typeface.SANS_SERIF); } protected void onDraw(Canvas canvas) {  super.onDraw(canvas);  canvas.drawColor(0xEFeffff);  Paint p = mPaint;  Paint p2 = mPathPaint;  p.setTextAlign(Paint.Align.LEFT);  if (index == -1)   return;  p2.setTextAlign(Paint.Align.LEFT);  //   canvas.drawText(list.get(index).getName(), mX, middleY, p2);  float tempY = middleY;  //   for (int i = index - 1; i >= 0; i--) {      tempY = tempY - DY;   if (tempY < 0) {    break;   }   canvas.drawText(list.get(i).getName(), mX, tempY, p);     }  tempY = middleY;  //  for (int i = index + 1; i < list.size(); i++) {   //    tempY = tempY + DY;   if (tempY > mY) {    break;   }   canvas.drawText(list.get(i).getName(), mX, tempY, p);     } } protected void onSizeChanged(int w, int h, int ow, int oh) {  super.onSizeChanged(w, h, ow, oh);  mX = w * 0.3f;   mY = h;  middleY = h * 0.5f; } public long updateIndex(int index) {   if (index == -1)   return -1;  this.index=index;    return index; } public List<Sentence> getList() {  return list; } public void setList(List<Sentence> list) {  this.list = list; } public void updateUI(){  new Thread(new updateThread()).start(); } class updateThread implements Runnable {  long time = 300;   int i=0;  public void run() {   while (true) {    long sleeptime = updateIndex(i);    time += sleeptime;    mHandler.post(mUpdateResults);    if (sleeptime == -1)     return;    try {     Thread.sleep(time);     i++;     if(i==getList().size())      {       i=0;       time = 300;      }    } catch (InterruptedException e) {          e.printStackTrace();    }   }  } } Handler mHandler = new Handler(); Runnable mUpdateResults = new Runnable() {  public void run() {   invalidate(); //   } };}

數據封裝類

public class Sentence { private String name; private int index; public Sentence(int index,String name){  this.name=name;  this.index=index; } public String getName() {  return name; } public void setName(String name) {  this.name = name; } public int getIndex() {  return index; } public void setIndex(int index) {  this.index = index; }}

布局

<com.mypackager.ui.VerticalScrollTextView   android:id="@+id/scoll_textView"   android:layout_width="500dp"   android:layout_height="500dp"   android:text="@string/company_intrduce_text"   android:visibility="gone"   ></com.mypackager.VerticalScrollTextView>

Activity代碼

List lst=new ArrayList<Sentence>();   for(int i=0;i<8;i++){    if(i%2==0){     Sentence sen=new Sentence(i,i+1+"NanJINGXIXI");     lst.add(i, sen);    }else{     Sentence sen=new Sentence(i,i+1+"Hello world!");     lst.add(i, sen);    }   }    play_textView.setList(lst);   play_textView.updateUI(); 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情视频在线免费观看 欧美视频免费一| 国产婷婷成人久久av免费高清| 亚洲精品国产拍免费91在线| 中文国产成人精品| 久久av.com| 久久精品青青大伊人av| 久久久久久久久久久免费| 欧美日韩高清区| 日韩中文字幕第一页| 日韩精品中文字幕在线| 夜夜嗨av一区二区三区免费区| 亚洲成人精品视频| 欧美一级视频一区二区| 久久久久国产精品免费网站| 精品国产乱码久久久久久虫虫漫画| 国产亚洲精品激情久久| 日韩av在线资源| 综合国产在线视频| 久久av.com| 国产精品h在线观看| 久久久欧美一区二区| 亚洲男人天堂2024| 欧美激情高清视频| 亚洲毛片在线免费观看| 综合136福利视频在线| 日韩欧美中文免费| 色婷婷综合久久久久中文字幕1| 欧美日韩国产一区二区三区| 91伊人影院在线播放| 精品亚洲va在线va天堂资源站| 中文字幕免费国产精品| 欧美成人黑人xx视频免费观看| 一区二区亚洲精品国产| 国产精品久久久久久搜索| 日本不卡高字幕在线2019| 欧美成人全部免费| 国产成人综合久久| 亚洲精品福利资源站| 久久久久一本一区二区青青蜜月| 久久久久久国产精品三级玉女聊斋| 成人网在线免费看| 成人综合国产精品| 欧洲亚洲免费在线| 在线播放日韩欧美| 亚洲欧美综合区自拍另类| 91国自产精品中文字幕亚洲| 97精品国产97久久久久久免费| 欧美裸体男粗大视频在线观看| 亚洲精品aⅴ中文字幕乱码| 亚洲精品自在久久| 精品久久久一区二区| 91午夜理伦私人影院| 中文字幕日韩视频| 欧美激情一区二区三区在线视频观看| 欧美精品中文字幕一区| 欧美激情在线一区| 久久99国产综合精品女同| 精品国偷自产在线视频| 伊人久久久久久久久久久| 亚洲午夜未满十八勿入免费观看全集| 亚洲欧洲在线看| 日韩av免费看网站| 精品视频久久久久久| 国产视频精品在线| 国产成人精品a视频一区www| 欧美—级a级欧美特级ar全黄| 国内精品中文字幕| 国产精品福利在线| 亚洲精品狠狠操| www.欧美精品| 欧美性猛交99久久久久99按摩| 欧美国产日韩一区二区三区| 国产精品视频久久久| 日韩av一区二区在线观看| 久久久91精品国产| 亚洲午夜未删减在线观看| 国产精品444| 国内精品久久久久影院 日本资源| 欧美二区乱c黑人| 久热精品视频在线观看| 欧美性在线观看| 在线观看久久av| 亚洲精选在线观看| 国产精品入口免费视| 草民午夜欧美限制a级福利片| 久久中文字幕在线视频| 国产成人一区二区在线| 亚洲欧美999| 欧美成人在线影院| 久久影视免费观看| 久久香蕉国产线看观看av| 色综合伊人色综合网站| 日韩人体视频一二区| 国产精品91久久| 欧美午夜片在线免费观看| 亚洲已满18点击进入在线看片| 欧美精品久久久久久久免费观看| 国产精品高潮在线| 日本道色综合久久影院| 成人免费视频97| 97精品一区二区视频在线观看| 性欧美亚洲xxxx乳在线观看| 黑人精品xxx一区一二区| 国产在线观看精品一区二区三区| 亚洲欧美中文日韩在线| 日韩精品视频在线免费观看| 亚洲欧美精品一区| 亚洲人成77777在线观看网| 欧美激情videos| 欧美片一区二区三区| 国产久一一精品| 亚洲美女免费精品视频在线观看| 中文国产亚洲喷潮| 亚洲午夜久久久久久久| 欧美国产精品人人做人人爱| 日韩综合视频在线观看| 日韩精品一区二区三区第95| 欧美又大粗又爽又黄大片视频| 黄色成人av在线| 国产精品va在线播放| 国产亚洲精品美女| 亚洲的天堂在线中文字幕| 亚洲2020天天堂在线观看| 91av在线影院| 国产91免费观看| 中文字幕亚洲无线码a| 日韩亚洲精品视频| 91精品在线一区| 国产精品 欧美在线| 欧美成人免费一级人片100| 日韩在线视频导航| 91成人在线视频| 亚洲日本中文字幕免费在线不卡| 国产欧美久久一区二区| 国产精品一区二区久久久久| 成人黄色免费网站在线观看| 夜夜嗨av一区二区三区免费区| 国产视频久久久久| 成人免费网站在线观看| 尤物99国产成人精品视频| 4438全国亚洲精品在线观看视频| 亚洲男人天堂网站| 亚洲深夜福利网站| 日韩最新在线视频| 欧美精品激情视频| 97在线视频免费观看| 国产精品国产三级国产aⅴ9色| 国产精品一二三在线| 亚洲国产高清高潮精品美女| 性色av一区二区三区| 欧美午夜宅男影院在线观看| 亚洲欧美制服另类日韩| 国产精品久久久久久久久久小说| 久久亚洲精品国产亚洲老地址| 国产精品私拍pans大尺度在线| 国产欧美精品一区二区| 日韩有码在线视频| 亚洲一区二区三区四区在线播放| 日韩欧美中文在线| 日韩国产中文字幕| 国产97在线观看| 欧美日韩国产一中文字不卡| 91久久精品日日躁夜夜躁国产| 日韩理论片久久|