一、点击变化
点击变化是指鼠标点击时,图片发生改变,松开鼠标后,图片还原。
main.xml中的代码:
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/text1"
android:contentDescription="@null"
android:background="@drawable/image"/>
image.xml中的代码:
二、点一次换一张
main.xml中的代码:
android:id="@+id/ib1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="140dp"
android:background="@drawable/b"
android:contentDescription="@null" />
android:id="@+id/ib2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="147dp"
android:background="@drawable/a"
android:contentDescription="@null" />
MainActivity.java中的代码:
public class MainActivity extends Activity implements OnClickListener {
ImageButton button1;
ImageButton button2;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 获得ib1的id
button1 = (ImageButton) findViewById(R.id.ib1);
//显示VISIBLE
button1.setVisibility(View.VISIBLE);
button2=(ImageButton)findViewById(R.id.ib2);
//隐藏GONE
button2.setVisibility(View.GONE);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.ib1:
button1.setVisibility(View.GONE);
button2.setVisibility(View.VISIBLE);
break;
case R.id.ib2:
button2.setVisibility(View.GONE);
button1.setVisibility(View.VISIBLE);
break;
}
}
三、逐帧动画的实现
main.xml中的代码:
android:id="@+id/ib3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="260dp"
android:contentDescription="@null" />
many.xml中的代码:
android:oneshot="false" >
MainActivity.java中的代码:
public class MainActivity extends Activity {
ImageButton button3;
AnimationDrawable animationDrawable;
int flage=0;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//动画显示
button3 = (ImageButton) findViewById(R.id.ib3);
button3.setBackgroundResource(R.drawable.many);
button3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
animationDrawable=(AnimationDrawable) button3.getBackground();
//这个判断有问题,还没有想到用一个imagebuttonn怎么才能做到
if(flage%2==0){
animationDrawable.start();
flage++;
}
else{
animationDrawable.stop();
flage++;
}
}
});
}