点击它时如何在CircleImageView上设置图像?

时间:2016-06-15 07:30:18

标签: android

这里我想创建一个circleimageview并在gallarIn上设置图像,我创建一个circleimageview 如何在circleimage视图中设置图像?

我的Xml文件

    <de.hdodenhof.circleimageview.CircleImageView
         xmlns:app="http://schemas.android.com/apk/res-auto"
         android:id="@+id/profile_image"
         android:layout_width="76dp"
         android:layout_height="76dp"
         android:src="@drawable/profile"
     </de.hdodenhof.circleimageview.CircleImageView>

这里我创建了circeimageview的对象 并传递意图从gallary选择图像

在Java文件中

     profileImage =(de.hdodenhof.circleimageview.CircleImageView)findViewById(R.id.profile_image);
    profileImage.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Toast.makeText(getApplicationContext(), "Profile Pic",      Toast.LENGTH_SHORT).show();
            Intent intent = new Intent();
            intent.setType("image/*");
            intent.setAction(Intent.ACTION_GET_CONTENT);//
            startActivityForResult(Intent.createChooser(intent, "Select File"),SELECT_FILE);
        }
    });

 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == Activity.RESULT_OK) {
        if (requestCode == SELECT_FILE)
            onSelectFromGalleryResult(data);
    }
}
@SuppressWarnings("deprecation")
private void onSelectFromGalleryResult(Intent data) {
    Bitmap bm=null;
    if (data != null) {
        try {
            bm =    MediaStore.Images.Media.getBitmap(getApplicationContext().getContentResolver(), data.getData());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    profileImage.setImageBitmap(bm);
}

帮我解决这个问题。

想要创建带有圆形图像视图的个人资料图片。?

我找到了很多教程,但没有onclick事件

3 个答案:

答案 0 :(得分:2)

private void onSelectFromGalleryResult(Intent data) {
    if (data != null) {
            Uri selectedImage = data.getData();
            String[] filePathColumn = { MediaStore.Images.Media.DATA };

            Cursor cursor = getContentResolver().query(selectedImage,
                    filePathColumn, null, null, null);
            cursor.moveToFirst();

            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            String picturePath = cursor.getString(columnIndex);
            cursor.close();
            profileImage.setImageBitmap(BitmapFactory.decodeFile(picturePath));
        } 
}

答案 1 :(得分:0)

如果您正在寻找如何将图像转换为圆形,请尝试使用Picasso库,它易于使用,您可以使用圆形变换设置为图像视图。谷歌你会发现很多例子

答案 2 :(得分:0)

嘿,我终于找到了答案

<de.hdodenhof.circleimageview.CircleImageView
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/profile_image"
    android:layout_width="76dp"
    android:layout_height="76dp"
    android:src="@drawable/profile"
    android:clickable="true"
    android:layout_marginLeft="24dp"
    android:layout_centerVertical="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginStart="24dp">

</de.hdodenhof.circleimageview.CircleImageView>

下面,

<强>机器人:可点击= “真”

解决我的问题

感谢所有