Как я могу разместить виджеты и ярлыки на странице ViewPager? - PullRequest
4 голосов
/ 11 ноября 2011

Я реализовал ViewPager в своем приложении домашней настройки Launcher и добавил 5 страниц в ViewPager.

Теперь я хочу добавить виджеты домашнего экрана и ярлыки приложений на отдельные страницы в моем ViewPager.Каков наилучший способ сделать это?

Ответы [ 2 ]

1 голос
/ 22 ноября 2011

Вот аналогичный вопрос (частично о виджетах): Есть ли какие-нибудь учебники по AppWidgetHost?

И здесь - это учебник AppWidgetHost, в основном работающийпример.По крайней мере, это хорошая отправная точка.

Примечание: в строке 176 примера есть опечатка:

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

следует заменить на

int appWidgetId = mAppWidgetHost.allocateAppWidgetId();
0 голосов
/ 18 ноября 2011

Ярлыки приложений:

Вы можете просмотреть список установленных приложений с помощью:

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() 
    }

Если вам нужна дополнительная информация, например значок приложения, отметьте это: Какполучите список установленных приложений для Android и выберите одно для запуска

Затем вы можете добавить макет с ListView на страницу Fragment / Activity.

Добавить в адаптер для ListViewприложения, которые вы хотите, и события onClick для создания намерения открыть их.

Я думаю, что это лучший способ показать список приложений с иконками и т. д.

Виджеты: Я никогда не видел виджеты внутри приложения, но согласно приведенному ниже ответу https://stackoverflow.com/a/8218587/327011, очевидно, есть способ.

Если вас интересует что-то немного другое ... вы можетевместо этого создайте пользовательский главный экран и используйте его вместо пользовательского.Это не будет приложение.

...