2010-12-02 13 views
3
私は、ホームスクリーンでのTextViewを入れたい、と私はSを使用している場合、私はマーキー効果

のTextViewマーキー

public class MainWidget extends AppWidgetProvider { 
int a; 
RemoteViews remoteViews; 
AppWidgetManager appWidgetManager; 
ComponentName thisWidget; 

String[] s={"woddfdfdfdfdfdffffffffffffffffffffffffffffffff","dd","ddd","ffff"}; 
public void onUpdate(Context context, AppWidgetManager appWidgetManager, 
     int[] appWidgetIds) { 
     Timer timer = new Timer(); 
     timer.scheduleAtFixedRate(new WlanTimer(context, appWidgetManager), 100, 50000); 
} 

private class WlanTimer extends TimerTask { 
     RemoteViews remoteViews; 
     AppWidgetManager appWidgetManager; 
     ComponentName thisWidget; 

public WlanTimer(Context context, AppWidgetManager appWidgetManager) { 

     this.appWidgetManager = appWidgetManager; 
     remoteViews = new RemoteViews(context.getPackageName(), R.layout.marketwidget_main); 
     thisWidget = new ComponentName(context, MainWidget.class); 
} 

@Override 
public void run() { 
a=(int) (Math.random()*3);        
     remoteViews.setTextViewText(R.id.TextView_marketwidget_main_marketmessage,s[a]); 
    appWidgetManager.updateAppWidget(thisWidget, remoteViews); 
    } 
} 
} 

が必要

[0]ではなく[A]、それは、実行されないだけで "woddfdf" のショーをよアップ。

私のTextView XMLは次のとおりです。私はあなたの質問から得たもの

<TextView android:id="@+id/TextView_marketwidget_main_marketmessage" 
    android:maxLines="1" android:focusable="true" 
    android:ellipsize="marquee" 
    android:inputType="text" 
    android:focusableInTouchMode="true" android:marqueeRepeatLimit="marquee_forever" android:textColor="#ffffff" android:background="@android:color/transparent" android:layout_width="80dip" android:layout_height="20dip"></TextView> 

答えて

5

は、あなたがTextViewの中のスクロールマーキー効果を見せたいですか? 私が正しければ、以下を実行してください。

android:ellipsize="marquee"をレイアウトファイル(XML)のTextView要素に設定します。アクティビティのonCreate()メソッドで、textView.setSelected(true);.

注:textViewの名前をTextViewの名前に置き換えます。

すべてのクエリを元に戻します。

+0

だけ私のアプリの観点から、この方法は、TextViewにはマーキーことができますが、私は、ホーム画面にappwidgetとしてビューを置くとき、それはマーキーを持っていません – pengwang

+0

このメソッドは、テキストがその幅より長い場合にのみテキストをスクロールします。だからもっとテキストで試してみてください。 – Mudassir

+0

私はappwidgetにマーキーエフェクトが必要なので、TextViewをremoteViewとして配置しましたが、効果が得られません – pengwang

1

textviewのandroid:ellipsize = "マーキー"プロパティを設定できます。 とはまだこのプロパティを使用して動作していない場合は、このリンクはあなたを助けるでしょう願っています: Ellipsize not working for textView inside custom listView

+0

私は自分のtextView xmlを変更しましたが、マーケティング担当者は "woddfdfdf" – pengwang