導航:首頁 > 操作系統 > android跑馬燈效果

android跑馬燈效果

發布時間:2022-02-12 09:23:01

Ⅰ 安卓初學用eclipse實現跑馬燈效果

<TextView
android:id="@+id/GDview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:text="跑馬燈「
android:textColor="#FFD700"
android:textSize="15sp" />

當文本長度超出布局的時候,才會有跑馬燈的效果

Ⅱ 如何實現控制項textview的跑馬燈效果

一.TextView基礎

TextView實現文字滾動需要以下幾個要點:
1.文字長度長於可顯示範圍:android:singleLine="true"
2.設置可滾到,或顯示樣式:android:ellipsize="marquee"
3.TextView只有在獲取焦點後才會滾動顯示隱藏文字,因此需要在包中新建一個類,繼承TextView。重寫isFocused方法,這個方法默認行為是,如果TextView獲得焦點,方法返回true,失去焦點則返回false。跑馬燈效果估計也是用這個方法判斷是否獲得焦點,所以把它的返回值始終設置為true。

TextView屬性介紹:
ellipsize屬性
設置當文字過長時,該控制項該如何顯示。有如下值設置:」start」—–省略號顯示在開頭;」end」——省略號顯示在結尾;」middle」—-省略號顯示在中間;」marquee」 ——以跑馬燈的方式顯示(動畫橫向移動)
marqueeRepeatLimit屬性
在ellipsize指定marquee的情況下,設置重復滾動的次數,當設置為marquee_forever時表示無限次。
focusable屬性

能否獲得焦點,同樣focusableInTouchMode是滑動時能否獲得焦點。
二.實現
1、在frameworks\base\core\java\Android\widget\下創建AlwaysMarqueeTextView.java,內容如下:

[java] view plain
package android.widget;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;
import android.widget.RemoteViews.RemoteView;
@RemoteView
public class AlwaysMarqueeTextView extends TextView {
public AlwaysMarqueeTextView(Context context) {
super(context);
}
public AlwaysMarqueeTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public AlwaysMarqueeTextView(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
}
@Override
public boolean isFocused() {
return true;
}
}
2、執行update-api的命令
./mk update-api

3、重新編譯整個工程
4、修改相應的TextView控制項

[html] view plain
- <TextView
+ <AlwaysMarqueeTextView
android:id="@+id/item_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/item_icon"
android:layout_marginBottom="6dip"
android:textAppearance="?android:attr/textAppearanceMedium"
+ android:focusableInTouchMode="true"
android:singleLine="true"
- android:ellipsize="none"
+ android:ellipsize="marquee"
+ android:marqueeRepeatLimit="marquee_forever"

Ⅲ android 怎樣給一個由三個textview 組成的添加跑馬燈效果

今天要實現的一個效果是在Android中實現一個跑馬燈的效果:在新建一個Androidproct之後,在布局文件main中替換掉原來的TextView代碼如下:其他部分代碼不用改動,在模擬器上應該可以看到滾動的顯示"這是跑馬燈的效果這是跑馬燈的效果"。其中有幾個問題是我自己碰到的,列舉如下:1.寬度android:layout_width不可以設置為wrap_content(自適應內容)2.android:text最好是比較長的字元串,最少要長過自己設置的width大小(我這里是60dp)3.顏色最好別設置為@android:color/white,否則你什麼都看不到,因為背景顏色也是white4.在xml中,TextView的屬性android:ellipsize="end"省略號在結尾android:ellipsize="start"省略號在開頭android:ellipsize="middle"省略號在中間android:ellipsize="marquee"跑馬燈5.android:scrollHorizontally="true"相信大家英文水平還不錯的話都明白這句的意思是水平滾動6.android:marqueeRepeatLimit="marquee_forever"看英文同樣可以明白,是無限次循環,學習android,英文基礎還是必須的。7.最後還有兩句代碼沒有解釋:android:focusable="true"//讓TextView獲得焦點android:focusableInTouchMode="true"//針對觸摸屏獲得當前焦點事實上這兩句代碼我也了解不是特別多,在網上查了下這兩個屬性,目前理解為:android:focusable="true"相當於當前Activity打開的時候,讓當前控制項TextView獲得焦點,才可以實現滾動功能android:focusableInTouchMode="true"和上述屬性應該是類似的,但限制應該是指的觸摸屏上的意思對於這兩個屬性,希望有高人指點下。

Ⅳ android 跑馬燈效果,如果文字不超過寬度,我也想做出跑馬燈效果,怎麼實現

今天要實現的一個效果是在Android中實現一個跑馬燈的效果:
在新建一個Android proct之後,在布局文件main中替換掉原來的TextView
代碼如下:
<TextView
android:layout_width="60dp"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:text="這是跑馬燈的效果這是跑馬燈的效果">
</TextView>

其他部分代碼不用改動,在模擬器上應該可以看到滾動的顯示"這是跑馬燈的效果這是跑馬燈的效果"。

其中有幾個問題是我自己碰到的,列舉如下:
1.寬度android:layout_width不可以設置為wrap_content(自適應內容)
2.android:text最好是比較長的字元串,最少要長過自己設置的width大小(我這里是60dp)
3.顏色最好別設置為@android:color/white,否則你什麼都看不到,因為背景顏色也是white
4.在xml中,TextView 的屬性
android:ellipsize = "end" 省略號在結尾
android:ellipsize = "start" 省略號在開頭
android:ellipsize = "middle" 省略號在中間
android:ellipsize = "marquee" 跑馬燈
5.android:scrollHorizontally="true"相信大家英文水平還不錯的話都明白這句的意思是水平滾動
6.android:marqueeRepeatLimit="marquee_forever" 看英文同樣可以明白,是無限次循環,學習android,英文基礎還是必須的。
7.最後還有兩句代碼沒有解釋:
android:focusable="true" //讓TextView獲得焦點
android:focusableInTouchMode="true" //針對觸摸屏獲得當前焦點

事實上這兩句代碼我也了解不是特別多,在網上查了下這兩個屬性,目前理解為:
android:focusable="true"相當於當前Activity打開的時候,讓當前控制項TextView獲得焦點,才可以實現滾動功能

android:focusableInTouchMode="true"和上述屬性應該是類似的,但限制應該是指的觸摸屏上的意思

對於這兩個屬性,希望有高人指點下。

Ⅳ android 文字跑馬燈效果怎樣控制滾動速度啊,效果有了 就是想讓他滾動更快一點

讓動畫時間變短就可以了

Ⅵ android Fragment 嵌套textview跑馬燈 頁面切換無效果

textView需要獲取焦點才會有跑馬燈效果。
需要增加以下代碼:
textview.setFocusable(true);
textview.requestFocus()

Ⅶ Android 跑馬燈左右滾動時字體的漸隱效果怎麼去掉

你可以用過xml設置android:marqueeRepeatLimit="marquee_forever"來設置跑馬燈顯示次數,marquee_forever表示不間斷無限次,也可以通過代碼tv.setMarqueeRepeatLimit(1);設置次數

Ⅷ android 跑馬燈怎麼弄

使用textswitcher空間設置setfadein和setfadeout,這兩個方法分別設置當前文字消失和下一段文字出現的動畫效果 查看原帖>>

希望採納

Ⅸ 為什麼android的跑馬燈效果會出現暫停

動畫延遲的問題,你一個動畫執行完成後沒有緩沖的去執行下一個,所以視覺上會出現暫停的效果。

Ⅹ android怎樣實現跑馬燈效果

Android自帶的跑馬燈效果不太好控制,不能控制速度,不能即時停止和啟動,而且還受焦點的影響蛋疼不已。由於項目需求需要用的可控制性高的跑馬燈效果,所以自己寫了一個自定義的TextView

android:ellipsize="marquee" android:singleLine="true" 這兩個屬性也要加上

public class MarqueeText extends TextView implements Runnable {

private int currentScrollX;// 當前滾動的位置

private boolean isStop = false;

private int textWidth;

private boolean isMeasure = false;

public MarqueeText(Context context) {

super(context);

// TODO Auto-generated constructor stub

}

public MarqueeText(Context context, AttributeSet attrs) {

super(context, attrs);

}

public MarqueeText(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle);

}

@Override

protected void onDraw(Canvas canvas) {

// TODO Auto-generated method stub

super.onDraw(canvas);

if (!isMeasure) {// 文字寬度只需獲取一次就可以了

getTextWidth();

isMeasure = true;

}

}

/**

* 獲取文字寬度

*/

private void getTextWidth() {

Paint paint = this.getPaint();

String str = this.getText().toString();

textWidth = (int) paint.measureText(str);

}

@Override

public void run() {

currentScrollX -= 2;// 滾動速度

scrollTo(currentScrollX, 0);

if (isStop) {

return;

}

if (getScrollX() <= -(this.getWidth())) {

scrollTo(textWidth, 0);

currentScrollX = textWidth;

// return;

}

postDelayed(this, 5);

}

// 開始滾動

public void startScroll() {

isStop = false;

this.removeCallbacks(this);

post(this);

}

// 停止滾動

public void stopScroll() {

isStop = true;

}

// 從頭開始滾動

public void startFor0() {

currentScrollX = 0;

startScroll();

}

}布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

<Button

android:id="@+id/start"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:onClick="start"

android:text="走起" />

<Button
android:id="@+id/stop" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:onClick="stop"
android:text="停止" /> <Button android:id="@+id/startfor0"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:onClick="startFor0" android:text="從頭開始" />
<simtice.demo.marqueetext.MarqueeText android:id="@+id/test"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:background="#339320" android:ellipsize="marquee"
android:singleLine="true" android:text="這才是真正的文字跑馬燈效果這才是真正的字跑馬燈效果這才是真正的"
android:textColor="#000000" android:textSize="20dp" >
</simtice.demo.marqueetext.MarqueeText></LinearLayout>MainActivitypublic
class MainActivity extends Activity { private MarqueeText test;
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); test = (MarqueeText)
this.findViewById(R.id.test); } public void start(View v) {
test.startScroll(); } public void stop(View v) { test.stopScroll(); }
public void startFor0(View v){ test.startFor0(); }}

閱讀全文

與android跑馬燈效果相關的資料

熱點內容
初一編程小程序怎麼做 瀏覽:822
bt軟體文件夾名稱 瀏覽:151
unix創建命令 瀏覽:620
devc是多少位的編譯器 瀏覽:976
怎麼樣能快點升安卓系統 瀏覽:974
奇跡mu用什麼伺服器 瀏覽:599
如何讓軟體在多個安卓系統上運行 瀏覽:573
java判斷半形 瀏覽:880
java判斷正負 瀏覽:320
刷頭條程序員的日常 瀏覽:102
吉林程序員吐槽 瀏覽:243
單片機溫度范圍 瀏覽:419
程序員為什麼素質低 瀏覽:897
可愛的程序員小姐姐 瀏覽:145
伺服器上網站的地址 瀏覽:798
蘋果平板如何找到app資源庫 瀏覽:321
阿里雲可以雲伺服器地址 瀏覽:249
熊貓繪畫app如何導入圖片 瀏覽:555
如何自己編輯手機app 瀏覽:924
程序員那麼可愛帶的項鏈 瀏覽:532