android studio 按钮切换显示3张图片
时间: 2023-05-30 20:05:40 浏览: 259
您可以使用一个计数器变量来跟踪当前应该显示的图像编号。然后,您可以在按钮单击事件中更新计数器,并相应地更改ImageView的图像资源。
以下是一个示例代码,其中有3个ImageView和一个按钮。每次单击按钮时,将显示下一个图像。
XML布局文件:
```
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/image1"/>
<ImageView
android:id="@+id/imageView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/image2"/>
<ImageView
android:id="@+id/imageView3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/image3"/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Next"/>
</LinearLayout>
```
Java代码:
```
public class MainActivity extends AppCompatActivity {
private ImageView imageView1, imageView2, imageView3;
private Button button;
private int currentImageIndex = 0;
private int[] imageResources = {R.drawable.image1, R.drawable.image2, R.drawable.image3};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView1 = findViewById(R.id.imageView1);
imageView2 = findViewById(R.id.imageView2);
imageView3 = findViewById(R.id.imageView3);
button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
currentImageIndex = (currentImageIndex + 1) % imageResources.length; // update current image index
// update image views
imageView1.setImageResource(imageResources[(currentImageIndex + 0) % imageResources.length]);
imageView2.setImageResource(imageResources[(currentImageIndex + 1) % imageResources.length]);
imageView3.setImageResource(imageResources[(currentImageIndex + 2) % imageResources.length]);
}
});
}
}
```
在此示例中,我们使用了一个int数组来存储3张图片的资源ID。在按钮单击事件中,我们通过更新currentImageIndex变量来选择下一张图像。然后,我们使用数组索引来更新每个ImageView的图像资源。我们使用了模运算符来循环遍历图像资源数组,以便在达到数组末尾时重新开始。
阅读全文