当前位置: 首页 > 知识库问答 >
问题:

更改时钟刻度盘图像

邢良才
2023-03-14

我正在创建一个用于学习目的的模拟时钟小部件,并想知道我如何可以做出一个设置布局来改变时钟刻度盘图像。我已经完成了小部件,但我似乎无法得到一个onclicklstener来调出设置布局。

这就是我所拥有的:

@Override
public void onDeleted(Context  context, int[] appWidgetIds) 
{super.onDeleted(context, appWidgetIds);
}

@Override
public void onDisabled(Context  context) {
        super.onDisabled(context);
        }

@Override
public void onReceive(Context context, Intent intent)
{
    String action = intent.getAction();
    if (AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(action))
    {

        RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);

        Intent AlarmClockIntent = new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER).setComponent(new ComponentName("com.android.alarmclock", "com.android.alarmclock.AlarmClock"));
        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, AlarmClockIntent, 0);
        views.setOnClickPendingIntent(R.id.Widget, pendingIntent);

        AppWidgetManager.getInstance(context).updateAppWidget(intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS), views);
    }
}
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
    int[] appWidgetIds) 
{
        super.onUpdate(context, appWidgetManager, appWidgetIds);
        RemoteViews updateViews = new RemoteViews(context.getPackageName(), R.layout.settings);
        Intent launchActivity = new Intent(context,Widget.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(context,0, launchActivity, 0);
        updateViews.setOnClickPendingIntent(R.id.Widget, pendingIntent);
        ComponentName myComponentName = new ComponentName(context, Settings.class);
        AppWidgetManager manager = AppWidgetManager.getInstance(context);
        manager.updateAppWidget(myComponentName, updateViews);
}

}

共有1个答案

景唯
2023-03-14

这个问题在这里又被问到了。

对于未来的参观者:

将确保PendingIntent已设置的代码放在onUpdate()方法中。这可以确保一旦小部件放在主屏幕上,就设置了pendingintent

public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgets) {
    RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget_activity);
    Intent intent = new Intent(context, Info.class);
    PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
    remoteViews.setOnClickPendingIntent(R.id.Widget, pendingIntent);

还有:

如果您还希望在首次将小部件添加到主屏幕时自动弹出infoactivity,那么您应该阅读这段有用的信息。

 类似资料:
  • 我是android编程的新手,似乎在一段时间内遇到了这个问题,我已经使用android模拟时钟小部件作为我的时钟应用程序的标准小部件,并且尽可能地使用自定义的刻度盘和指针,但现在的要求已经改变,给出更多的刻度盘和时钟设计,我到处搜索,但似乎无法掌握这一点。 我可以在代码中以编程方式更改表盘、分针和时针的模拟时钟的默认属性吗?就像是有这样的东西: 我做了这件事而这件事是不可能的,是不是还有什么其他的

  • 我正在为android创建一个主屏幕小部件(学习目的),并使用AnalogClock小部件,我想改变这个小部件的表盘和指针,一旦用户点击屏幕上的一个按钮。 有什么想法可以实现它(这是一种改变时钟的主题)?

  • 问题内容: 对于y轴上的每个刻度标签,我想更改: 我正在绘制对数日志数据(以2为底),但是我希望标签显示原始数据值。 我知道我可以得到当前的y标签 这给了我一个列表: 每个列表都是 我在http://matplotlib.org/users/text_props.html上查看了文本对象的文档, 但是我仍然不确定更改每个文本标签中的字符串的正确语法是什么。 更改标签后,可以使用以下方法在轴上设置它

  • 本文向大家介绍使用css画个钟表的时间刻度相关面试题,主要包含被问及使用css画个钟表的时间刻度时的应答技巧和注意事项,需要的朋友参考一下 写一下思路,先定义一个钟表的大小位置,用absolute,从1点到12点用ul,li。每个li可以用nth-child(对应第几个)来控制位置,角度用transform,然后分钟的刻度也是照样子分别控制位置,要用48个li,这个就要慢慢算了。

  • 本文向大家介绍JS实现简易刻度时钟示例代码,包括了JS实现简易刻度时钟示例代码的使用技巧和注意事项,需要的朋友参考一下 如图所示,利用JS实现简易的刻度时钟; 原理如下:利用60等份的li进行布局,li两两之间的间隔为6deg,把基点定在圆心上,使得li圆形分布。然后另外设置三条针线的样式的位置,基点同样定在圆心上,然后秒针每秒动6deg,分针每秒动1/60deg,时针每秒动1/3600deg。

  • 本文向大家介绍如何修改JavaFX XY图表中刻度线的长度?,包括了如何修改JavaFX XY图表中刻度线的长度?的使用技巧和注意事项,需要的朋友参考一下 在XY图表中,给定的数据点绘制在XY平面上。沿x和y轴,您将具有刻度线和刻度线标签。刻度线代表间隔均匀的各种值。 更改刻度线的长度 javafx.scene.chart.Axis类(abstract)是基类中的所有XY图表轴。要创建X和Y轴,您