您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“android跑馬燈出現(xiàn)重復(fù)跳動以及不滾動怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“android跑馬燈出現(xiàn)重復(fù)跳動以及不滾動怎么解決”吧!
原因:頁面有View被重新繪制了、焦點被搶占
例如:
1、TextView 的width被設(shè)置為wrap_content,setText()時內(nèi)容改變會導(dǎo)致View重新繪制;
2、頁面中動態(tài)生成View同樣會影響跑馬燈效果;
解決辦法:
1.盡可能的將頁面的View的寬和高設(shè)置為固定值,盡量不要動態(tài)去修改
2.自定義TextView 重寫isFocused()函數(shù),讓他放回true也就是一直獲取了,焦點效果自然也就出來了,如果這都不能解決那肯就不是焦點問題了。
public class MarqueTextView extends TextView { public MarqueTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public MarqueTextView(Context context, AttributeSet attrs) { super(context, attrs); } public MarqueTextView(Context context) { super(context); } @Override public boolean isFocused() { return true; } @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); } } }
小編之前還看到一個關(guān)于android跑馬燈重復(fù)抖動的解決方法,也分享給大家,謝謝原作者的分享
先貼一下TextView跑馬燈的實現(xiàn)代碼
<TextView android:id="@+id/tv_blueToothDatas" android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="@color/yellow_f38131" android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:marqueeRepeatLimit="marquee_forever" />
出現(xiàn)的問題,在界面上,有一個用viewPager實現(xiàn)的廣告輪播功能,發(fā)現(xiàn)每次切換廣告的時候,跑馬燈會跳動,并且從頭顯示,以為是viewPager與跑馬燈沖突,后來在網(wǎng)上搜了一下,android 6.0有時候會出現(xiàn)這個問題,解決的方法,在跑馬燈控件外層,再嵌套一個布局控件
<LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="horizontal" android:layout_marginLeft="5dp" android:layout_marginRight="5dp"> <TextView android:id="@+id/tv_blueToothDatas" android:layout_width="match_parent" android:layout_height="wrap_content" tools:text="11111111111111111111111111111111111111111111111" android:textColor="@color/yellow_f38131" android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:marqueeRepeatLimit="marquee_forever" /> </LinearLayout>
到此,相信大家對“android跑馬燈出現(xiàn)重復(fù)跳動以及不滾動怎么解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。