2015-05-21 99 views
0

我正在Android Studio中制作我的第一个Android应用程序。我有一个ImageButton,我想单击更改。为此,我做了一个名为Field的新课程,该课程扩展了ImageButton课程。所以,我用它代替ImageButton。并且在类字段中,我重新定义了一个构造函数,以便我添加它在创建Field对象时设置为OnClickListenerImageButton在更改背景时调整大小

这里是我曾经为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); 
     } 
    }); 
}` 

比,当我创建我的活动Field对象,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" /> 

我注意到,即使我只是改变pic01open我在XML中,open图像比pic01大,两者都是.png。点击时如何获得相同尺寸的图像?

回答

0

更改两条线

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

android:layout_width="48dp" 
android:layout_height="48dp" 

或其他一些大小,你wan't你的看法有。 wrap_content将根据显示的绘图改变视图的大小。