如何创建向后兼容的Android分页应用小部件?

时间:2011-11-01 20:50:22

标签: java android widget android-appwidget

我无法找到有关如何制作分页应用小部件的任何教程,例如Facebook,Twitter和FriendCaster中的小部件。

我可以将新的Android 3.0+工具与适配器一起使用,但是这很难测试,因为我没有任何设备,我的电脑也不是。

2 个答案:

答案 0 :(得分:3)

这可以通过为appwidget提供一个状态来完成,该状态定义了当前显示的页面。并将广播分配给按钮以改变状态。

  1. 使用PendingIntent点击按钮时发送广播。
  2. receiver听广播并跟踪状态(页面)
  3. 根据当前状态更新appwidget
  4. 以下是一些不完整的代码示例:

    RemoteViews remoteViews = new RemoteViews(mContext.getPackageName(), R.layout.widget_weather);
    
    // update appwidget remoteviews depending on state (ie which page to show)
    remoteViews = populateViews(remoteViews, mState);
    
    // set next button
    Intent intent = new Intent(MYBROADCAST_NEXT);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(context, requestCode, intent, flags);
    remoteViews.setOnClickPendingIntent(R.id.appwidget_btn_next, pendingIntent);
    
    // set prev button
    intent = new Intent(MYBROADCAST_PREV);
    pendingIntent = PendingIntent.getBroadcast(context, requestCode, intent, flags);
    remoteView.setOnClickPendingIntent(R.id.appwidget_btn_prev, pendingIntent);
    
    // update the AppWidget ...
    

    希望这有助于实现你想要的目标。

答案 1 :(得分:1)

您可以使用兼容包,它向后兼容。最低API级别为4,即Android 1.6

http://developer.android.com/sdk/compatibility-library.html

使用ViewPager,有很多例子。 http://android-developers.blogspot.com/2011/08/horizontal-view-swiping-with-viewpager.html