垂直、水平滾動的TextView
阿新 • • 發佈:2019-01-09
原始碼來自於:https://github.com/Glgo/AutoVerticalScrollTextView
public View makeView() { TextView textView = new TextView(mContext); textView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); textView.setTextSize(14); textView.setSingleLine(true); textView.setGravity(Gravity.CENTER_VERTICAL); textView.setEllipsize(TextUtils.TruncateAt.END); textView.setTextColor(getResources().getColor(R.color.mainbbscolor)); return textView; }
其中這個方法就是對TextView進行設定,做出自己想要的效果。下面是直接使用方法:
其中開了一個執行緒,記得關閉。/** * 首頁廣告 */ private void initAD(){ //上層滾動 verticalUpScrollTV = (AutoVerticalScrollTextView)inflate.findViewById(R.id.textview_auto_roll_up); verticalUpScrollTV.setText(testAD.get(0)); //滾動廣告點選事件 verticalUpScrollTV.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getActivity(), testAD.get(upNumber % testAD.size()), Toast.LENGTH_SHORT).show(); } }); new Thread(){ @Override public void run() { while (isRunning){ SystemClock.sleep(5000); handler.sendEmptyMessage(199); } } }.start(); } /** * 執行緒 */ private Handler handler = new Handler() { public void handleMessage(Message msg) { if (msg.what == 199) { verticalUpScrollTV.next(); upNumber++; verticalUpScrollTV.setText(testAD.get(upNumber%testAD.size())); } } }; @Override public void onDestroy() { super.onDestroy(); //關閉介面時關閉廣告輪播執行緒 isRunning=false; }