我有一个固定在导航菜单右上角的图像按钮,当您点击它时,您可以从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"/>
答案 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"/>