2013-07-24 3 views
0

У меня есть макет gridView для отображения изображений, и я хочу поместить маленький значок над изображением, как отмечено.Как наложить небольшую иконку на другое изображение на ImageView

вот мой код:

ImageView i; 
    if (convertView == null) { 
     i = new ImageView(mContext); 
     i.setLayoutParams(new GridView.LayoutParams(width, height)); 
     i.setPadding(10, 10, 10, 10); 
     i.setScaleType(ImageView.ScaleType.CENTER_CROP); 

    } else { 
     i = (ImageView) convertView; 
    } 

    if(mImageSet == IMAGE_SET_ONE) { 
      boolean cek = true; 
      i.setImageBitmap(decodeSampledBitmapFromResource(mContext.getResources(),mThumbIds[position],width,width)); 

    } 

Пожалуйста, помогите ..

+0

Try раздувать convertView от FrameLayout ресурса вместо создания ImageView в коде. Поместите ImageView и просмотрите небольшую иконку в этом макете. Получите доступ к представлению изображения и просмотру значка через 'findViewById' – JustAnotherCoder

ответ

2

ImageView виджет имеет встроенную функциональность для настройки фона и переднего плана изображения. Вы можете проверить, как это выглядит в xml, поля src и background могут быть установлены с помощью методов setImageResource и setImageBackground в ImageView.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <ImageView 
     android:layout_width="match_parent" 
     android:layout_height="200dp" 
     android:layout_centerInParent="true" 
     android:background="@color/pink" 
     android:src="@drawable/facebook_icon" /> 

</RelativeLayout> 

First example

Единственная проблема состоит в том, что ЦСИ (наложение) изображение будет соответствовать либо высоту или ширину вашего зрения изображения.

Таким образом, чтобы обойти это, вы будете использовать несколько изображений в относительном и установить фон или src по отдельности.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <ImageView 
     android:layout_width="120dp" 
     android:layout_height="120dp" 
     android:layout_centerInParent="true" 
     android:background="@color/pink" /> 

     <ImageView 
     android:layout_width="30dp" 
     android:layout_height="30dp" 
     android:layout_centerInParent="true" 
     android:src="@drawable/facebook_icon" /> 

</RelativeLayout> 

Second example

+0

благодарим вас за ваше время .. как я могу сделать это на Java-коде? –

+0

@PaulNababan: Я думаю, что это будет что-то вроде i.setBackground (bg_image) и i.setForeground (fg_image) – Exikle

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