- 浏览: 65223 次
最新评论
Widget配置文件:
package com.example.changewidget; import android.app.Activity; import android.app.PendingIntent; import android.appwidget.AppWidgetManager; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.RemoteViews; public class ChangeWidgetActivity extends Activity { private static final String TAG = "tracy"; private static final String ATV = "ChangeWidgetActivity "; int mAppWidgetId; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.edit); /** * 表明创建widget失败 */ setResult(RESULT_CANCELED); /** * 取出该配置文件对应的widgetId */ Intent intent = getIntent(); Bundle extras = intent.getExtras(); if (extras != null) { mAppWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); } if (mAppWidgetId == AppWidgetManager.INVALID_APPWIDGET_ID) { finish(); } /** * 设置配置页面的点击效果 */ Log.i(TAG,ATV+"onCreate mId="+mAppWidgetId); findViewById(R.id.imageView1).setOnClickListener(clicklisten); findViewById(R.id.imageView2).setOnClickListener(clicklisten); findViewById(R.id.imageView3).setOnClickListener(clicklisten); } OnClickListener clicklisten = new OnClickListener() { @Override public void onClick(View v) { int id = 0; switch (v.getId()) { case R.id.imageView1: id = R.drawable.bssd1; break; case R.id.imageView2: id = R.drawable.bssd2; break; default: id = R.drawable.bsyl1; break; } /** * 设置widget的布局文件 */ RemoteViews remoteViews = new RemoteViews(getPackageName(),R.layout.widget); remoteViews.setImageViewResource(R.id.icon, id); /** * 设置widget的分区域点击 */ Intent intent = new Intent(ChangeWidgetActivity.this,PageOne.class); intent.setAction(TAG+mAppWidgetId); intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,mAppWidgetId); PendingIntent pendingIntent = PendingIntent.getActivity(ChangeWidgetActivity.this, 0, intent, 0); remoteViews.setOnClickPendingIntent(R.id.icon, pendingIntent); Intent intent2 = new Intent(ChangeWidgetActivity.this, PageTwo.class); intent2.setAction(TAG+mAppWidgetId); intent2.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,mAppWidgetId); PendingIntent pendingIntent2 = PendingIntent.getActivity(ChangeWidgetActivity.this, 0, intent2, 0); remoteViews.setOnClickPendingIntent(R.id.icon2, pendingIntent2); /** * 更新对应widgetId的widget */ AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(ChangeWidgetActivity.this); appWidgetManager.updateAppWidget(mAppWidgetId, remoteViews); Intent resultValue = new Intent(); resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId); setResult(RESULT_OK, resultValue); finish(); } }; }
在xml标志配置文件:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minHeight="72dp"
android:minWidth="72dp"
android:initialLayout="@layout/widget"
android:configure="com.example.changewidget.ChangeWidgetActivity"
android:updatePeriodMillis="84600000" >
</appwidget-provider>
- ChangeWidget.rar (1.4 MB)
- 下载次数: 5
发表评论
-
AlarmManager定时器
2013-04-15 18:19 3861首先,获取系统服务: private Alar ... -
google play 提交apk说:服务器无法处理app
2012-09-25 16:16 1506检查manifest里面的的资源文件 -
Widget分区域点击
2012-09-25 10:24 780<?xml version="1.0" ... -
检查packageName对应app是否安装
2012-08-24 10:46 1200// 检查packageName对应app是否安装 ... -
监听WebView显示结束(回调函数实现)
2012-08-15 11:31 10294webView只提供了一个监听加载完毕的方法,但是没有提供监听 ... -
Intent跳转去网络设置页面
2012-08-14 23:50 2459public static void startNetw ... -
TextView显示html内容
2012-08-10 16:26 816TextView tv = (TextView) fin ... -
使用String资源
2012-08-06 16:06 737getResources().getString(R.s ... -
Intent到gmail发邮件
2012-08-06 15:31 832Intent returnIt = new Intent ... -
导入外部数据库
2012-07-31 10:51 1605package com.example.imputdat ... -
读入大文本信息方法
2012-07-31 09:52 649BufferedReader br = new Bu ... -
所有的R文件都消失
2012-07-26 18:05 769问题描述: 添加了一个资源文件,然后所有引用到R资源都出错 ... -
String和int互化
2012-07-26 10:41 613String化为Int Integer.parseInt(S ... -
数据库的使用
2012-07-25 19:43 908作用: 从文本中获取信息存放在数据库中。 SQLAc ... -
键盘顶起内容
2012-07-24 11:26 901android:windowSoftInputMode= ... -
在普通类中使用getResources()
2012-07-24 11:26 1136context可以作为成员变量传入类中,然后通过context ... -
关于Intent
2012-07-24 11:26 720Intent常见于在页面间的跳转。常见语句为: Intent ... -
自定义控件
2012-07-24 11:26 543需要添加类似 public SurfaceV(Context ... -
Invalid project description
2012-07-25 19:43 941导入不同版本的eclipse制作的项目,可能会产生Invali ... -
完全退出应用(SharedPreferences和onResume()实现)
2012-07-25 19:43 1046问题:A.class Intent跳转到B.class,由于某 ...
相关推荐
例如,一个搜索框在用户完成输入并点击界面其他区域时可能自动收起,以保持界面简洁。 在GUI编程中,`QWidget`是Qt框架下的一个关键类,它代表了用户界面中的一个可交互元素,如按钮、文本框等。这里的"widget"就是...
在之前的版本中,用户可能只能在一个较小的区域内点击来切换语言,这可能会导致误操作或者使用不便。现在,开发人员扩大了这个点击区域,使得用户更容易触发语言选择功能,提高了交互的易用性和用户满意度。这种改进...
在本示例中,我们将探讨如何实现特定的需求:去除内容区域的阴影,点击内容时不关闭抽屉,抽屉默认打开,并且在抽屉滑动时内容区域跟随移动。 首先,我们来看如何去除内容区域的阴影。在DrawerLayout中,默认情况下...
在Swing中,Widget是指基本的用户界面元素,如按钮、文本框、复选框等。这些组件允许用户与应用程序进行交互。在本教程中,我们将深入探讨如何使用Swing来实现Widget。 首先,让我们了解Swing中的主要Widget类别: ...
这些方法分别用于获取/设置Widget的首选大小、实际大小、位置、父容器、模型等属性,并负责绘制、处理不透明区域以及响应模型变化。 - `GetPreferredExtent` 和 `GetExtent` 用于获取Widget的理想大小和实际大小。 ...
这使得用户可以在一个固定的区域内方便地切换不同的视图,类似于多页签的浏览器或者手机应用的底部导航栏。 首先,我们需要了解如何在代码中创建和添加Stacked Widget。在Qt Creator中,可以通过设计模式直接拖拽...
SWT(Standard Widget Toolkit)是一种用于构建Java图形用户界面的跨平台工具包,它利用本地操作系统资源来创建高性能的应用程序界面。与AWT和Swing等其他Java GUI库不同,SWT更注重于提供原生外观和性能,因此在...
在功能性上,Android Widget 2.0.0可能加入了更多交互元素,如可点击区域的扩展,使得Widget能处理更多的用户输入事件。开发者可以创建更复杂的逻辑,比如集成滑动手势,让用户通过简单的手势就能触发不同的功能。...
此外,我们还需要为用户提供一个Intent-Filter,让他们能够通过长按主屏幕空白区域添加窗口小部件。在AndroidManifest.xml中添加ACTION_ADD_WIDGET意图过滤器,确保用户可以正确地将你的窗口小部件添加到主屏幕。 ...
"Android侧栏分类点击切换内容"这一知识点主要是关于如何实现在侧栏中点击不同的分类,使得主要内容区域动态地更新对应的内容。这在电商类应用中非常常见,因为它们往往需要展示多个商品类别,用户可以通过侧栏快速...
在编译并运行程序后,你可以看到一个简单的界面,当点击“点击我”按钮时,自定义Widget会弹出,然后如果点击其他区域(如主窗口或标签),自定义Widget就会自动关闭。这就是利用Qt4在ubuntu12.04环境下实现"点击父...
在淘宝SDK中,Widget可以被用来自定义手风琴组件,实现点击标题后展开或收起相关区域的功能。实现手风琴涉及递归布局的理解,状态管理(展开/关闭状态),以及事件监听和响应。 在开发这些Widget时,开发者需要熟悉...
5. **可点击性**:图标应该具有良好的点击区域,特别是在触屏设备上,要确保手指能方便地触碰到。 6. **一致性**:同一应用或平台的所有图标应该有一致的风格和设计语言,形成整体的视觉和谐。 7. **测试**:设计...
- **触摸响应**:用户可以点击或滑动圆形区域,可能触发不同的操作或者改变进度值。 - **动态更新**:通过代码设置或监听者模式实时更新进度,支持百分比或步进式进度显示。 - **动画效果**:可能包含平滑的进度动画...
DockWidget可以通过拖动标题栏来改变其位置,也可以通过点击最大化按钮将其转换为抽屉状态。 为了实现“可隐藏”功能,我们可以在DockWidget中使用setFeatures()方法,启用QDockWidget::DockOption::...
6. **事件处理**:添加必要的事件监听器,比如鼠标点击、滚动,以便响应用户的操作,如选择地图上的特定位置或改变缩放级别。 7. **优化性能**:为了提高性能,可以考虑使用虚拟化技术,只在屏幕可见区域内绘制和...
前者使得窗口对输入透明,即点击穿透到下层窗口;后者则使窗口背景透明,但不影响子控件。 接下来,我们创建一个`DialogVideoControl`类,这个类继承自`QDialog`,用于显示视频并添加透明的截图框。在构造函数中,...
在默认情况下,DrawerLayout会在主内容视图的边缘添加阴影效果,并且当用户点击阴影区域时,抽屉会自动关闭。然而,有时我们可能希望去除这个阴影效果,同时使阴影部分能够点击到背后的视图,且抽屉仍然可以通过侧滑...