我的布局上有2个弧形,我需要在2个不同的弧形上放置2个不同的图像。 Arcmenues看起来像相框。加号(" +")符号是替换为来自相机或照片库的加载图像的图像。
http://imageshack.com/a/img901/3791/kXFgyC.jpg
问题是当arcmenu初始化时,它使用arcmenu模板。所以,"加" image在此定义为ImageView。当我加载照片时,它只放置在第一个arcmenu中,因为arcmenu模板中有1个ImageView。
ArcMenu初始化代码:
public void initArcMenu(ArcMenu menu, int[] ITEM_DRAWABLES)
{
final int itemCount = ITEM_DRAWABLES.length;
for (int i = 0; i < itemCount; i++) {
ImageView item = new ImageView(this);
item.setImageResource(ITEM_DRAWABLES[i]);
final int position = i;
menu.addItem(item, new View.OnClickListener() {
@Override
public void onClick(View v) {
if(position == 0)
{
Intent pickPhoto = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(pickPhoto , 1);//pick photo from gallery
}
if(position == 1)
{
Intent takePicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(takePicture, 0);//capture from camera
}
}
});
}
}
onActivityResult代码:
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
switch(requestCode) {
case 0:
if(resultCode == RESULT_OK){
Bitmap photo = (Bitmap) imageReturnedIntent.getExtras().get("data");
mPhoto.setImageBitmap(photo);
}
break;
case 1:
if(resultCode == RESULT_OK){
Uri selectedImage = imageReturnedIntent.getData();
mPhoto.setImageURI(selectedImage);
}
break;
}
}