如何在viewpager的页面上放置小部件和快捷方式?

时间:2011-11-11 12:50:11

标签: android android-layout android-viewpager

我在自定义主页启动器应用程序中实现了ViewPager,我在ViewPager中添加了5个页面。

现在,我想在ViewPager的各个页面上添加主屏幕小部件和应用程序快捷方式。什么是实现这一目标的最佳方式?

2 个答案:

答案 0 :(得分:1)

这是一个类似的问题(部分是关于小工具):Any AppWidgetHost-tutorials out there?

here是一个AppWidgetHost教程,主要有一个工作示例。至少这是一个很好的起点。

注意:示例第176行中有错误打印:

int appWidgetId = WidgetScreen.this.mAppWidgetHost.allocateAppWidgetId();

应替换为

int appWidgetId = mAppWidgetHost.allocateAppWidgetId();

答案 1 :(得分:0)

应用程序快捷方式:

您可以列出已安装的应用程序:

final PackageManager pm = getPackageManager();
//get a list of installed apps.
        List<ApplicationInfo> packages = pm
                .getInstalledApplications(PackageManager.GET_META_DATA);

        for (ApplicationInfo packageInfo : packages) {

            Log.d(TAG, "Installed package :" + packageInfo.packageName);
            Log.d(TAG,
                    "Launch Activity :"
                            + pm.getLaunchIntentForPackage(packageInfo.packageName)); 

        }// the getLaunchIntentForPackage returns an intent that you can use with startActivity() 
    }

如果您需要更多信息,例如应用图标,请检查:How to get a list of installed android applications and pick one to run

然后,您可以将带有ListView的布局添加到页面片段/活动。

在适配器中为ListView添加所需的应用程序,并在onClick事件中创建打开它们的意图。

我认为这是显示应用程序列表的最佳方式,包括图标等。

<强>窗口小部件: 我从未在应用程序中看到过小部件,但根据下面的答案https://stackoverflow.com/a/8218587/327011显然有一种方法。

如果您对某些不同的东西感兴趣...您可以改为创建自定义主屏幕,并使用它而不是自定义。这不是一个应用程序。