WEB开发网
开发学院手机开发Android 开发 让自己的Android应用支持appwidget 阅读

让自己的Android应用支持appwidget

 2010-12-18 08:04:06 来源:WEB开发网   
核心提示:super.onMeasure(widthMeasureSpec, heightMeasureSpec);LayoutParams lp;for(int index=0; index< index++)> lp = (LayoutParams) getChildAt(index).getLayoutPara

super.onMeasure(widthMeasureSpec, heightMeasureSpec);

LayoutParams lp;

for(int index=0; index< index++)>

lp = (LayoutParams) getChildAt(index).getLayoutParams();

getChildAt(index).measure(

MeasureSpec.makeMeasureSpec(MeasureSpec.EXACTLY, lp.width),

MeasureSpec.makeMeasureSpec(MeasureSpec.EXACTLY, lp.height));

}

}

@Override

public boolean dispatchTouchEvent(MotionEvent event) {

cellInfo[0] = (int)event.getX();

cellInfo[1] = (int)event.getY();

return super.dispatchTouchEvent(event);

}

@Override

protected void onLayout(boolean changed, int l, int t, int r, int b) {

LayoutParams lp;

for(int index=0; index< index++)>

lp = (LayoutParams) getChildAt(index).getLayoutParams();

getChildAt(index).layout(lp.x, lp.y, lp.x+lp.width, lp.y+lp.height);

}

}

public static class LayoutParams extends ViewGroup.LayoutParams {

int x;

int y;

public LayoutParams(int width, int height) {

super(width, height);

}

}

}

然后是重点了。还记得系统默认的桌面上,长按的时候出现的上下文菜单吗?里面有好几个选项,选择widget之后,会弹出一个已经安装的widget列表,选择一个widget之后,就会添加到桌面。我们可以把第一步去掉,长按之后,直接弹出已安装的widget列表,这是一个activity,用AppWidgetManager.ACTION_APPWIDGET_PICK这个Intent来启动,必须带上Extras,下面给出代码中有,不详叙。

Java代码

package chroya.demo.widget;

import static android.util.Log.d;

import java.util.ArrayList;

import android.app.Activity;

import android.appwidget.AppWidgetHost;

import android.appwidget.AppWidgetManager;

import android.appwidget.AppWidgetProviderInfo;


  点击下载:php?id=1365" rel="nofollow">附件下载

上一页  1 2 3 4 5 6 7 8  下一页

Tags:自己 Android 应用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接