0
我正在創建類似Google環聊的ListView應用程序。列表項由左側的Imageview和右側的一些文本組成。看到下面的圖片。Android:自定義谷歌環聊像列表視圖
我不知道如何來顯示這些圖像。當有一個人想要只顯示一個通知。但是,如果有更多的人想要按照上述照片顯示圖像。請幫助我。我怎樣才能做到這一點?
我正在創建類似Google環聊的ListView應用程序。列表項由左側的Imageview和右側的一些文本組成。看到下面的圖片。Android:自定義谷歌環聊像列表視圖
我不知道如何來顯示這些圖像。當有一個人想要只顯示一個通知。但是,如果有更多的人想要按照上述照片顯示圖像。請幫助我。我怎樣才能做到這一點?
我自己解決了這個問題。
有兩種方法可以解決這個問題。
使用畫布生成一個位圖將是所有圖像的組合位圖。以下是生成四個人(四個圓圈)的位圖的代碼。
public static Bitmap customImageFour(Context context, Bitmap[] bitmaps, int size) {
Bitmap bmp1 = Bitmap.createScaledBitmap(bitmaps[0], size/2, size/2, false);
Bitmap bmp2 = Bitmap.createScaledBitmap(bitmaps[1], size/2, size/2, false);
Bitmap bmp3 = Bitmap.createScaledBitmap(bitmaps[2], size/2, size/2, false);
Bitmap bmp4 = Bitmap.createScaledBitmap(bitmaps[3], size/2, size/2, false);
Bitmap.Config conf = Bitmap.Config.ARGB_8888;
Bitmap bitmap1 = Bitmap.createBitmap(bmp1);
bitmap1 = getRoundedCornerBitmap(bitmap1, bitmap1.getWidth()/2);
Bitmap bitmap2 = Bitmap.createBitmap(bmp2);
bitmap2 = getRoundedCornerBitmap(bitmap2, bitmap2.getWidth()/2);
Bitmap bitmap3 = Bitmap.createBitmap(bmp3);
bitmap3 = getRoundedCornerBitmap(bitmap3, bitmap3.getWidth()/2);
Bitmap bitmap4 = Bitmap.createBitmap(bmp4);
bitmap4 = getRoundedCornerBitmap(bitmap4, bitmap4.getWidth()/2);
Bitmap finalBitmap = Bitmap.createBitmap(size, size, conf);
Canvas canvas = new Canvas(finalBitmap);
canvas.drawBitmap(bitmap1, 0f, 0f, null);
canvas.drawBitmap(bitmap2, bitmap1.getWidth(), 0f, null);
canvas.drawBitmap(bitmap3, 0f, bitmap1.getHeight(), null);
canvas.drawBitmap(bitmap4, bitmap1.getWidth(), bitmap1.getHeight(), null);
return finalBitmap;
}
另一種方法是,而不是使用單一的ImageView您可以使用RelativeLayout的,並在其中通過代碼添加ImageViews。如果有兩個人,則創建兩個ImageView並將其添加到佈局中,如果有四個人,則創建四個ImageView並將其添加到佈局中。
你解決了這個問題嗎?你可以發佈你如何解決 – LittleGirl
@LittleGirl是的,我解決了它。請參閱下面的答案。 –