1. 程式人生 > >Android:TextView的垂直滾動效果,和上下滾動效果

Android:TextView的垂直滾動效果,和上下滾動效果


佈局裡面就是兩個自定義的TextView,上面的左右滑動的是AutoHorizontalScrollTextView;

下面上下滾動的是AutoVerticalScrollTextView;


上面左右滑動的非常好實現,直接把AutoHorizontalScrollTextView複製到專案中,複製全類名到佈局檔案中,和系統TextView一樣,只需設定文字其他什麼都不用設定;

下面垂直滾動的AutoVerticalScrollTextView相比AutoHorizontalScrollTextView稍微麻煩一點;但是也非常簡單;

如果在專案中使用的話直接把AutoVerticalScrollTextView複製到專案中;

有些屬性在佈局檔案中沒有辦法設定,需要在makeView()方法中設定:

 //這裡返回的TextView,就是我們看到的View,可以設定自己想要的效果
    public View makeView() {

        TextView textView = new TextView(mContext);
        textView.setGravity(Gravity.LEFT);
        textView.setTextSize(20);
        textView.setSingleLine(true);
        textView.setGravity(Gravity.CENTER_VERTICAL);
        textView.setEllipsize(TextUtils.TruncateAt.END);
        textView.setTextColor(Color.WHITE);
        return textView;

    }

接下來看下佈局檔案:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <!--左右滾動的textview-->
    <www.autotextview.com.autotextview.View.AutoHorizontalScrollTextView
        android:textSize="20sp"
        android:background="#000000"
        android:textColor="#ffffff"
        android:id="@+id/textview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:singleLine="true"
        />

    <!--上下滾動的TextView-->
    <www.autotextview.com.autotextview.View.AutoVerticalScrollTextView
        android:id="@+id/textview_auto_roll"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#000000"
        android:padding="5dp"
        />

</LinearLayout>

佈局檔案就非常簡單了,接下來說下兩個View具體怎麼使用:

左右滾動的TextView,直接設定一個TextView即可;

horizontalScrollTV = (AutoHorizontalScrollTextView) findViewById(R.id.textview);
        horizontalScrollTV.setText(titleStr);

而垂直滾動的TextView需要的是一個數組,當執行next()方法的時候會執行動畫切換下一個資料;

在專案中我直接定義了一個計時器,每隔2秒傳送一個訊息,然後執行AutoVerTicalScrollTextView.next();

private String[] strings={"我的劍,就是你的劍!","俺也是從石頭裡蹦出來得!","我用雙手成就你的夢想!","人在塔在!","犯我德邦者,雖遠必誅!","我會讓你看看什麼叫殘忍!","我的大刀早已飢渴難耐了!"};
        verticalScrollTV = (AutoVerticalScrollTextView) findViewById(R.id.textview_auto_roll);
        verticalScrollTV.setText(strings[0]);

        new Thread(){
            @Override
            public void run() {
                while (isRunning){
                    SystemClock.sleep(3000);
                    handler.sendEmptyMessage(199);
                }
            }
        }.start();

private Handler handler = new Handler() {

        public void handleMessage(Message msg) {
            if (msg.what == 199) {
                verticalScrollTV.next();
                number++;
                verticalScrollTV.setText(strings[number%strings.length]);
            }
        }
    };

點選事件是後期加上去的,在MainActivity的initView()方法中新增以下程式碼:

verticalScrollTV.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               Toast.makeText(MainActivity.this,strings[number%strings.length],Toast.LENGTH_SHORT).show();
           }
       });


好了,需要自己寫的程式碼不多,如果哪些地方寫的不合適或者您有更好的辦法實現,希望評論,私聊及時指導;

相關推薦

Android:TextView垂直滾動效果,上下滾動效果

佈局裡面就是兩個自定義的TextView,上面的左右滑動的是AutoHorizontalScrollTextView; 下面上下滾動的是AutoVerticalScrollTextView; 上面左右滑動的非常好實現,直接把AutoHorizontalScrollTe

android TextView 垂直自動滾動字幕實現TextSwitcher

實現功能:用TextSwitcher實現文字自動垂直滾動,類似淘寶首頁廣告條。 實現效果: 注意:由於網上橫向滾動的例子比較多,所以這裡通過垂直的例子演示。 實現步驟:1、extends TextSwitcher implements ViewFactory

python3中給listbox新增垂直滾動水平滾動

#scrolly是垂直滾動條,scrolly2是水平滾動條 scrolly=Scrollbar(win,width=25,orient=VERTICAL) scrolly.grid(row=0,column=1,padx=(0,0),pady=(250,0),s

webview 去掉滾動上下黑灰色背景

// 去掉webView的滾動條 for (UIView *subView in [webView subviews]) { if ([subView isKindOfClass:[UIScrollView class]])

android TextView裏邊實現圖文混配效果

分享 str images for pan override 設置 styles @override 用TextView實現這種效果,圖片文字混排,文字不同顏色字體。打電話和吊起瀏覽器等等 代碼例如以下: @Override public v

mui專案首頁頭部滾動漸變頁面滾動元件衝突解決方案

1、頁面結構,header元件中新增mui-bar-transparent類。 2、輪播的滾動觸發了scroll事件,導致scroll-y一直為0,mui.js找到如下內容,禁止掉。 3、頁面中添加了scroll元件,導致transparent不生效,銷燬

Android TextView實現可暫停的跑馬燈效果

Android TextView 實現可以暫停的跑馬燈效果: content_main.xml <com.jackie.marqueetextview.MarqueeTextView

文字橫向滾動,或上下滾動

1、文字橫向滾動使用<marquee>標籤即可。<marquee><h1 style="margin: 40px; font: 30px Microsoft Yahei; text-align: center;">簡單的jQuery無縫向上

elementUI樹狀圖豎向滾動橫向滾動條問題

在使用vue時,就會有使用到elementUI,之後就是不斷的在入坑和天坑之間徘徊。 elementUI中有個隱藏的元件,就是滾動條-----<el-scrollbar></el-scrollbar> 可以參考elementUI的官網程式碼 這裡用

Android TextView 設定字間距行間距

1.如果您是要設定TextView的行間距 請使用(不用看2了) android:lineSpacingMultiplier="1.8"2.如果您是要設定字間距需要自定義控制元件<pre name="code" class="java">import andr

Android-垂直上下滾動TextView

相關類的繼承關係: public class View implements Drawable.Callback, KeyEvent.Callback, AccessibilityEventSource {...} public abs

Android textviewlistview實現水平自動滾動的走馬燈效果

當我們遇到需要在一個textview裡顯示較長文字時候,往往有以下幾種考慮:           1.換行,Android裡本身也是這樣在考慮;           2.可以進行水平或者垂直滑動;           3.採用走馬燈效果。           其實這三種要實

Android實現textview文字滾動顯示(跑馬燈效果

自定義Textview並對其進行改造,主要目的是讓textview獲取焦點,這樣文字才能滾動起來 public class MyTextView extends android.support.v7

android TextView實現滾動顯示效果(列表中多個同時滾動,親測可用)

 在android中,如果設定了TextView控制元件為單行顯示,且顯示的文字太長的話,預設情況下會造成顯示不全的情況,這種情況下我們需要設定該控制元件屬性如下: <TextView android:id="@+id/tv1"

Android 上下滾動(跑馬燈)效果實現

產品的有個需求是 文字上下滾動,第一想到的是用屬性動畫實現,2個TextView 切換滾動,網上看了一堆資料大部分都是 TextSwitch,寫部落格不貼效果圖真的是很惆悵,不知道具體效果如何,第一次進入切換是否有問題,還有就是最後一個切換到第二個是否有問題,動畫是否流暢等,

TextView上下滾動實現通知效果

最近有個專案需要實現通知欄的上下滾動效果,仿淘寶頭條的那種。 我從網上看了一些程式碼,把完整的效果做了出來。如圖所示: 具體程式碼片段如下: 1.在res資料夾下新建anmin資料夾,在這個資料夾裡

Android TextView豎直滾動文字廣告效果

專案需要TextView單行豎直滾動文字廣告效果,很簡單的功能在網上找了很多沒有想要的效果。 開始找到的http://www.cnblogs.com/vaiyanzi/archive/2011/12/06/2277791.html,歌詞效果,對程式碼處理一下變成單行後,發現

TextView垂直方向無限滾動還有跑馬燈效果

用個自定義控制元件 然後顯示上去就可以啦 自定義控制元件package com.example.textviewscrollv; import android.content.Context; import android.graphics.Color; import

Android TextView實現滾動跑馬燈效果Marquee

可以利用原生功能實現效果: 1、如果TextView中的文字過長,(在失去焦點時)那麼超出顯示範圍的文字以...顯示 2、如果TextView獲得了焦點,那麼其中的文字以迴圈滾動的方式顯示 佈局中程式

學習筆記一、UITableView上下滾動導航欄漸變隱藏顯示效果

大體思路:定義一個UINavigationBar的Category,在NavigationBar頂層增加一個檢視overlay。滾動時通過設定overlay檢視的背景色和透明度來達到隱藏和顯示導航欄效果。程式碼如下: #import <UIKit/UIKit.h&g