Android中ImageView的使用:点击按钮,改变图片透明度,切换图片
布局是三个按钮组件和一个ImageView组件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center">
<Button
android:id="@+id/addAlpha"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="增加图片透明度"
/>
<Button
android:id="@+id/downAlpha"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="减小图片透明度"
/>
<Button
android:id="@+id/next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="切换图片"
/>
</LinearLayout>
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="280dp"
android:layout_marginTop="100dp"
android:scaleType="fitCenter"
android:src="@drawable/spring"
/>
</LinearLayout>
.java文件,控制增加和减少透明度以及图片切换
public class MainActivity extends AppCompatActivity {
private Button addAlpha;
private Button downAlpha;
private Button next;
private ImageView imageView1;
int [] images = new int[]{ //用数组存储春,夏,秋,冬四张图片
R.drawable.spring,
R.drawable.summer,
R.drawable.fall,
R.drawable.winter
} ;
int currentImage = 0 ; //定义当前默认显示的图片
int alpha = 255 ;//定义图片起始透明度
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_imageview);
addAlpha = (Button) findViewById(R.id.addAlpha);
downAlpha = (Button) findViewById(R.id.downAlpha);
next = (Button) findViewById(R.id.next);
imageView1 = (ImageView) findViewById(R.id.imageView1);
//对增加图片透明度按钮设置监听事件
addAlpha.setOnClickListener(new View.OnClickListener() {
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onClick(View v) {
if(alpha >= 255){ //255是透明度上线
alpha = 255 ;
}
else{ //每点击增加透明度按钮,透明度增加20
alpha += 20 ;
}
imageView1.setImageAlpha(alpha); //为图片设置透明度
}
});
//对减少透明度按钮设置监听事件
downAlpha.setOnClickListener(new View.OnClickListener() {
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onClick(View v) {
if(alpha <= 0){ //透明度下限
alpha = 0 ;
}
else{
alpha -= 20 ;
}
imageView1.setImageAlpha(alpha); //为图片设置透明度
}
});
//对切换图片按钮设置监听事件
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//控制显示下一张图片
imageView1.setImageResource(images[++ currentImage % images.length]);
}
});
}
}
效果图如下,点击按钮可以改变透明度和切换图片
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持社区。 |