2013-12-12 2 views
1

У меня есть приложение, которое имеет экран со списком. В этом представлении списка я показываю различные приложения со своим изображением и именем в каждой строке (используя arraylist). Onclick приложения (в строке) он запустит это конкретное приложение. Теперь, когда есть обновление для любого приложения, я хочу показать значок на изображении приложения. Это можно сделать?Возможно ли показать значок на изображении, отображаемом в ListView

У меня есть изображение, сохраненное как растровое изображение. Есть ли способ добавить значок в растровое изображение (а не ресурс, но полученный из веб-url) или любой способ показать значок в списке с помощью arraylist.

+0

См http://stackoverflow.com/questions/6044828/drawing-number-badge-like-iphone-in-android/6050064#6050064 и http://webproverka.com/ : //stackoverflow.com/questions/5569695/android-is-it-possible-to-update-a-imageview-imagebutton-with-a-number-to-show/5604787#5604787 если это может вам помочь – ccheneson

+0

@ccheneson здесь я не использую относительный макет. как я упоминал, я использую listview. Нет изображения. – sundeep

+0

Относительная компоновка используется как контейнер для изображения + значок – ccheneson

ответ

1

попробуйте это. Возможно, вам придется изменить параметры размера в зависимости от размера вашего изображения. Я использую это для изображений 128x128.

public static Bitmap getOverlayedImage(Resources res, Drawable img1, Drawable img2) { 
    float den = res.getDisplayMetrics().density; 
    int dip = (int) (80 * den + 0.5f); 
    int sz = (int) (128 * den + 0.5f); 

    Drawable[] layers = new Drawable[2]; 
    layers[0] = img1; 
    layers[1] = img2; 

    LayerDrawable layerDrawable = new LayerDrawable(layers); 
    layerDrawable.setLayerInset(1, dip, dip, 0, 00); 

    Bitmap b = Bitmap.createBitmap(sz, sz, Bitmap.Config.ARGB_8888); 
    layerDrawable.setBounds(0, 0, sz, sz); 
    layerDrawable.draw(new Canvas(b)); 

    return b; 
} 

вызов это так:

getOverlayedImage(getResources(), drawable1, drawable2); 
+0

здесь img1 должен быть образ моего приложения, а img2 имеет значок? Каков ресурс, который я должен пройти? немного путают с параметрами. – sundeep

+0

Стандартные ресурсы: http://developer.android.com/reference/android/content/Context.html#getResources() Drawable 1 - ваш образ, drawable 2 - это изображение, которое вы хотели бы наложить. – Kuffs

+0

извините за задержку в принятии ответа. это решение сработало для меня. благодаря – sundeep

0

Там есть библиотека, которая позволяет вам прикрепить значок: https://github.com/jgilfelt/android-viewbadger

Вы можете добавить значок в ImageView (или любого другого вида, который вы используете), который содержит изображение.

+0

Я уже использую этот проект для своего проекта, но в настоящее время это не служит моей цели. Как я уже говорил, я не использую изображение. Я использую viewrow, и в этом проекте нет никаких подробностей. – sundeep

+0

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

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