也是最笨的方法:布局就不写了,看效果图就明白,2个imageButton 和中间一个imageView
1、效果图
2、将风速的变化图片,放置resource.xml中
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer-array name = "windSpeed_imgsArray">
<item >@drawable/a17</item>
<item >@drawable/a18</item>
<item >@drawable/a19</item>
<item >@drawable/a20</item>
<item >@drawable/a21</item>
<item >@drawable/a22</item>
<item >@drawable/a23</item>
</integer-array>
</resources>
3、功能实现AirConditionHomeActivity:
private String TAG = "Demo666";
ImageView img_wind_direction;//风向、风速调整
ImageButton btn_wind_min;
ImageView img_wind_puls_or_min;
ImageButton btn_wind_puls;
private int maxSpeed = 7;
private int lastSpeed = 0;
private int currentSpeed = 0;
public static Handler mHandler = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.air_condition_home_activity);
btn_wind_puls = (ImageButton)findViewById(R.id.wind_puls);
btn_wind_min = (ImageButton)findViewById(R.id.wind_min);
img_wind_direction = (ImageView)findViewById(R.id.wind_direction);
img_wind_puls_or_min = (ImageView)findViewById(R.id.wind_puls_or_min);
//降低风速
btn_wind_min.setOnTouchListener(AirConditionHomeActivity.this);
//提高风速
btn_wind_puls.setOnTouchListener(AirConditionHomeActivity.this);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN){
switch(v.getId()){
case R.id.wind_puls:
currentSpeed = currentSpeed + 1;
getPlusWind();
if(currentSpeed >= maxSpeed) {
Toast mToast = Toast.makeText(getApplicationContext(), "已至最大风速", Toast.LENGTH_SHORT);
mToast.show();
}
break;
case R.id.wind_min:
currentSpeed = currentSpeed - 1;
getMinWind();
if(currentSpeed <= lastSpeed) {
Toast mToast = Toast.makeText(getApplicationContext(), "已至最低风速", Toast.LENGTH_SHORT);
mToast.show();
}
break;
}
}
return false;
}
//提高风速
public void getPlusWind(){
if(currentSpeed >= lastSpeed && currentSpeed <= maxSpeed){
switch(currentSpeed){
case 1:
img_wind_puls_or_min.setBackgroundResource(R.drawable.a17);
break;
case 2:
img_wind_puls_or_min.setBackgroundResource(R.drawable.a18);
break;
case 3:
img_wind_puls_or_min.setBackgroundResource(R.drawable.a19);
break;
case 4:
img_wind_puls_or_min.setBackgroundResource(R.drawable.a20);
break;
case 5:
img_wind_puls_or_min.setBackgroundResource(R.drawable.a21);
break;
case 6:
img_wind_puls_or_min.setBackgroundResource(R.drawable.a22);
break;
case 7:
img_wind_puls_or_min.setBackgroundResource(R.drawable.a23);
break;
}
}
}
//降低风速
public void getMinWind(){
if(currentSpeed >= lastSpeed && currentSpeed <= maxSpeed){
switch(currentSpeed){
case 1:
img_wind_puls_or_min.setBackgroundResource(R.drawable.a17);
break;
case 2:
img_wind_puls_or_min.setBackgroundResource(R.drawable.a18);
break;
case 3:
img_wind_puls_or_min.setBackgroundResource(R.drawable.a19);
break;
case 4:
img_wind_puls_or_min.setBackgroundResource(R.drawable.a20);
break;
case 5:
img_wind_puls_or_min.setBackgroundResource(R.drawable.a21);
break;
case 6:
img_wind_puls_or_min.setBackgroundResource(R.drawable.a22);
break;
case 7:
img_wind_puls_or_min.setBackgroundResource(R.drawable.a23);
break;
}
}
}
}