2013-11-28 6 views
0

Там находится код в Android SDK Api DemoИспользование setImageDrawable нарисовать Динамический значок

i.setImageDrawable(info.activityInfo.loadIcon(getPackageManager())); 
i.setScaleType(ImageView.ScaleType.FIT_CENTER); 
final int w = (int) (64 * getResources().getDisplayMetrics().density + 2f); 
i.setLayoutParams(new GridView.LayoutParams(w, w)); 

может кто-нибудь объяснить этот код? havnt нашел что-нибудь в Интернете.

Существует ссылка google doc, в которой упоминается «setImageDrawable» для рисования на экране И еще «GetPackageManager» для возврата экземпляра PackageManager для поиска глобальной информации о пакете. теперь проблема в том, что я не могу найти список значков в папке проекта и, кроме того, как я могу изменить его, покажите значок и добавьте событие для их щелчка.

ответ

2

к коду У вас есть почта, первая строка, там загрузите значок и установите его.

второй предназначен для масштабирования границ изображения до границ этого вида, FIT_CENTER масштабирует его по центру экрана.

В-третьих, вычислите ширину, а в четвертом и установите его в изображение (задайте размер).

Значки u можно найти в папке sdk. (\ Путь к вашим-андроиду-СДК-папкам \ платформа \ андроида-ого \ Data \ Реза)

загрузить you'r собственного значка используйте:

setImageDrawable(getResources().getDrawable(R.drawable.icon)); 

и слушатель:

imageView.setOnClickListener(clickListener); 
OnClickListener clickListener = new OnClickListener() { 
    public void onClick(View v) { 
       if (v.equals(imageView)) { 
        // you'r code here 
       } 
      } 
}; 
+0

Спасибо за ответ, еще один маленький вопрос, как я могу найти список значков, который «getPackageManager» маршрутизирует на него? –

+0

Я думаю, что значки по умолчанию там можно найти на этом пути: (\ path-to-your-android-sdk-folder \ platform \ android-xx \ data \ res. Я не уверен, что у меня нет работающий андроид sdk на этой машине, я сейчас пишу –

+0

спасибо за местоположение :) –

Смежные вопросы