在网上找了一份模仿系统Launcher的代码,是一个继承看碟ViewGroup的自定义组件,可以左右划屏,效果与QQ,微信之类的软件第一次启动时欢迎帮助效果类似.但是发现一问题,我在上面加了GridView,数据只有在程序启动时才能载入,启动后无法动态更新了,费了几个小时,终于找到解决方法:
protected void onLayout(boolean changed, int l, int t, int r, int b) {
// TODO Auto-generated method stub
// if (changed) {
int childLeft = 0;
final int childCount = getChildCount();
for (int i=0; i<childCount; i++) {
final View childView = getChildAt(i);
if (childView.getVisibility() != View.GONE) {
final int childWidth = childView.getMeasuredWidth();
childView.layout(childLeft, 0,
childLeft+childWidth, childView.getMeasuredHeight());
childLeft += childWidth;
}
}
// }
}
把if(change)注释掉即可.