我想提出一个TextView在主屏幕,而我需要的字幕效果
公共类MainWidget扩展AppWidgetProvider {
诠释一个;
RemoteViews remoteViews;
AppWidgetManager appWidgetManager;
组件名thisWidget;
的String [] S = {woddfdfdfdfdfdffffffffffffffffffffffffffffffff,DD,DDD,FFFF};
公共无效的OnUpdate(上下文的背景下,AppWidgetManager appWidgetManager,
INT [] appWidgetIds){
定时器定时=新的Timer();
timer.scheduleAtFixedRate(新WlanTimer(上下文,appWidgetManager),100,50000);
}
私有类WlanTimer扩展的TimerTask {
RemoteViews remoteViews;
AppWidgetManager appWidgetManager;
组件名thisWidget;
公共WlanTimer(上下文的背景下,AppWidgetManager appWidgetManager){
this.appWidgetManager = appWidgetManager;
remoteViews =新RemoteViews(context.getPackageName(),R.layout.marketwidget_main);
thisWidget =新的组件名(背景下,MainWidget.class);
}
@覆盖
公共无效的run(){
一个=(int)的(的Math.random()* 3);
remoteViews.setTextViewText(R.id.TextView_marketwidget_main_marketmessage,S [一个]);
appWidgetManager.updateAppWidget(thisWidget,remoteViews);
}
}
}
如果我用S [0],而不是S [A],它不运行,只有woddfdf出现了。
我的TextView XML是:
< TextView的机器人:ID =@ + ID / TextView_marketwidget_main_marketmessage
机器人:MAXLINES =1机器人:可聚焦=真
机器人:ellipsize =金字招牌
机器人:inputType =文本
机器人:focusableInTouchMode =真正的机器人:marqueeRepeatLimit =marquee_forever机器人:文字颜色=#FFFFFF机器人:背景=@机器人:彩色/透明的android:layout_width =80dip机器人:layout_height =20dip> < / TextView的>
解决方案
我从你的问题是,你要显示在TextView中滚动字幕的效果了? 如果我是正确的,请执行下列操作。
设置安卓ellipsize =金字招牌
在的TextView
在布局文件(XML)元素。然后,在你活动的的onCreate()
方法,添加行 textView.setSelected(真);
请注意:更换名称的TextView与你的TextView的名称
。恢复任何查询。
I want to put a textView in homescreen, and I need the marquee effect
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);
}
}
}
If i use s[0] instead s[a], it does not run, only "woddfdf" shows up.
My textView xml is:
<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>
解决方案
What I got from your question is, you want to show a scrolling marquee effect in TextView? If I am right, do the following.
Set android:ellipsize="marquee"
in TextView
element in your layout file (XML). Then, in your Activity's onCreate()
method, add the line textView.setSelected(true);.
Note: Replace the name textView with the name of your TextView.
Revert back for any query.
上一篇:创建从SD卡的可绘制设置为在Android的背景设置为、背景、SD、Android
下一篇:如何安装MediaPlayer的使用SurfaceView在Android的?MediaPlayer、SurfaceView、Android