Java 当我更改背景时,ImageButton会调整大小
我正在android Studio中制作我的第一个android应用程序。我有一个Java 当我更改背景时,ImageButton会调整大小,java,android,imagebutton,Java,Android,Imagebutton,我正在android Studio中制作我的第一个android应用程序。我有一个ImageButton,我想在单击时更改它。为此,我创建了一个名为Field的新类,它扩展了ImageButton类。因此,我使用它而不是ImageButton。在类字段中,我重新定义了一个构造函数,以便在创建field对象时,它设置OnClickListener 以下是我用于此目的的Java代码:` public Field(Context context) { super(context); i
ImageButton
,我想在单击时更改它。为此,我创建了一个名为Field
的新类,它扩展了ImageButton
类。因此,我使用它而不是ImageButton
。在类字段中,我重新定义了一个构造函数,以便在创建field
对象时,它设置OnClickListener
以下是我用于此目的的Java代码:`
public Field(Context context) {
super(context);
init();
}
public Field(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public Field(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init(){
setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
setImageResource(R.drawable.open);
}
});
}`
然后,当我在活动中创建字段
对象时,设置了OnClickListener
。
而且,它是有效的。但是,名为open
的新图像比我以前名为pic01
的图像大,但两个图像的大小相同185x185
以下是我的活动xml:
<asd.clicker.Field
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/asd.clicker.Field1"
android:background="@drawable/pic01"
android:layout_above="@+id/asd.clicker.Field4"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginBottom="25dp" />
我注意到,即使我在xml中将pic01
更改为open
,打开的open
图像也比pic01
大,两者都是.png
。单击时如何获得相同大小的图像 更改两行
android:layout_width="wrap_content"
android:layout_height="wrap_content"
到
或者其他一些你不想看到的尺寸<代码>包裹内容将根据显示的可绘制内容更改视图的大小
android:layout_width="48dp"
android:layout_height="48dp"