2013-09-07 3 views
4

Я столкнулся с приложением для запуска с именем Nova Launcher, которое предоставляет возможность изменить вид & ощущение системных приложений на другой значок, ниже - снимок экрана из панели запуска nova.Изменение значка системного приложения по умолчанию

shcreenshot from nova launcher

Когда я выберу акции Jellybean он заменит значок приложения системы jellbean пакета значков.

Я хочу реализовать те же функциональные возможности в своем собственном приложении для запуска, я Google, но не нашел ничего связанного, нужно руководство и предложение.

Я попытался установить Example-theme, просто меняя название пакета, но его дает мне силу закрыть com.mypackagename not found.

Основная деятельность @

private static final String ACTION_APPLY_ICON_THEME = "com.mypackage.launcher.APPLY_ICON_THEME"; 
    private static final String NOVA_PACKAGE = "com.mypackage.launcher"; 
    private static final String EXTRA_ICON_THEME_PACKAGE = "com.mypackage.launcher.extra.ICON_THEME_PACKAGE"; 

// private static final String ACTION_APPLY_ICON_THEME = "com.teslacoilsw.launcher.APPLY_ICON_THEME"; 
// private static final String NOVA_PACKAGE = "com.teslacoilsw.launcher"; 
// private static final String EXTRA_ICON_THEME_PACKAGE = "com.teslacoilsw.launcher.extra.ICON_THEME_PACKAGE"; 

Я просто ищу способ, что я должен управлять или код внутри своей собственной пусковой установить такие темы, как же новы пусковой установки.

Ниже ссылки помогут мне создать темы для запуска, но не найдены какие-либо способы установки/применения моей пусковой установки.

Launcher Theme Tutorial

Example-theme

Ваше предложение заметны.

+0

Я не понимаю. Я думаю, что пока вы используете свое собственное приложение для домашнего экрана, любое отображение значков находится под вашим контролем. Вы можете отображать любое изображение для любого значка приложения, не так ли? – Robin

+0

Если вы знакомы с nova launcher, то вы легко получите его, вещь, не найдена тем способом, которым я должен закодировать внутри пусковой установки, чтобы применить тему, как это делают другие запускающие программы. – RobinHood

+0

Я думаю, что пользователь Робин прав. Вариант выбора темы - это вариант: вариант. Вы сохраните выбранную тему пользователя и загрузите на ней значки системы/приложения. Посмотрите на «ApplicationsAdapter.java» из проекта 'android-launcher-plus' (запуск с открытым исходным кодом): [Ссылка] (http://code.google.ком/р/андроида-пусковая-плюс/источник/просмотр/багажник/SRC/Mobi/intuitit/Android/р/пусковая/ApplicationsAdapter.java). Значок и его внешний вид находятся в вашем управлении. Напишите метод 'Util', чтобы выяснить, какие значки нужно изменить, и обрабатывать их соответственно. – Vikram

ответ

4

мистер Робин правильно .. Вы можете сделать это вручную ..

Поместите все свои пользовательские иконки в вытяжке папке с определенным названием вроде как icon_appname.png ..

icon_contacts.png, icon_camera.png , icon_settings.png, icon_phone.png, icon_email.png ... и т.д.

или вы также можете сохранить изображения в качестве имени пакета также, как в icon_com_android_camera.png ... и т.д.

Просто установите условие в GetView в классе адаптера.

 if(User selected default theme) 
     { 
     //use default icon from system 
     } 
     else 
     { 
      String appname = here is app name; 
      String appPackageName = here is app package name; 
      // You can use appname or appPackageName as per your drawable name. 
      int intResource = getResources().getIdentifier("icon_" + appname.toLowerCase(), "drawable", getPackageName()); 
      if(intResNormal!=0) 
       holder.txtTitle.setCompoundDrawablesWithIntrinsicBounds(null, getResources().getDrawable(intResource), null, null); 
      else 
       //use default icon when no resource found 
     } 

Примечание: Если вы следуете в качестве имени пакета, так что не забыли заменить "_" с ""