当我选择我的头像时,imagebutton变得非常大

时间:2018-02-06 20:10:59

标签: java android xml android-studio layout

我有一个固定在导航菜单右上角的图像按钮,当您点击它时,您可以从Android库中选择一个图像并将其作为您的头像。

但是,一旦选择了图片,图像按钮就会变得非常大。

以下是该按钮的初始位置:Before Choosing avatar

以下是选择头像后按钮的位置:After choosing avatar

我在NavDrawerActivity类的onCreate()方法中插入了这段代码

imgButton = (ImageButton) navigationHeaderView.findViewById(R.id.imageButton1);
imgButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(Intent.ACTION_PICK);
        intent.setType("image/*");

        startActivityForResult(intent, IMAGE_UPLOAD_REQUEST);
    }
});

RoundedBitmapDrawable roundedBitmapDrawable = RoundedBitmapDrawableFactory.create(getResources(), getThumbnail("desiredFilename.png"));
roundedBitmapDrawable.setCircular(true);
imgButton.setImageDrawable(roundedBitmapDrawable);

这是我的XML:

<ImageButton
   android:layout_gravity="right"
   android:id="@+id/imageButton1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:background="@drawable/round_button"
   android:scaleType="fitXY"
   app:srcCompat="@android:drawable/ic_menu_gallery"/>

2 个答案:

答案 0 :(得分:0)

尝试将其添加到XML中以设置固定大小:

android:maxWidth="42dp"  
android:maxHeight="42dp"

42dp就是一个例子,设置你想要的任何东西

答案 1 :(得分:0)

根据您给我们的工作情况来判断,头像的图像尺寸远大于原始图标。如果您希望它与图标的大小完全相同,则可以缩小图像的大小,或者将ImageButton的大小从wrap_content更改为固定值。 :)

改变这个:

android:layout_width="wrap_content"  
android:layout_height="wrap_content"

对此:

android:layout_width="THE WIDTH OF THE ICON"  
android:layout_height="THE HEIGHT OF THE ICON"

修改 有点抽象思想,但也可以尝试一下。

改变这个:

<ImageButton
            android:layout_gravity="right"
            android:id="@+id/imageButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/round_button"
            android:scaleType="fitXY"
            app:srcCompat="@android:drawable/ic_menu_gallery"/>

对此:

<ImageButton
            android:layout_gravity="right"
            android:id="@+id/imageButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/round_button"
            app:srcCompat="@android:drawable/ic_menu_gallery"/>