Java 在Android中切换Case以用另一个图像替换图像。类似Tinder图像交换程序的东西
当我点击图像时,我希望当前图像被另一个图像替换,当我点击第二个图像时,第二个图像被第三个图像替换,依此类推。我想这样做3个或更多的图像 我用了一种非常简单的技术来实现这一点,但是我想用一个开关盒来实现同样的事情,这样当有多个图像时,代码就更直观、更高效了 activity_main.xmlJava 在Android中切换Case以用另一个图像替换图像。类似Tinder图像交换程序的东西,java,android,android-studio,Java,Android,Android Studio,当我点击图像时,我希望当前图像被另一个图像替换,当我点击第二个图像时,第二个图像被第三个图像替换,依此类推。我想这样做3个或更多的图像 我用了一种非常简单的技术来实现这一点,但是我想用一个开关盒来实现同样的事情,这样当有多个图像时,代码就更直观、更高效了 activity_main.xml MainActivity.java package com.example.helloworld; 导入androidx.appcompat.app.appcompat活动; 导入android.os.B
MainActivity.java
package com.example.helloworld;
导入androidx.appcompat.app.appcompat活动;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.ImageView;
公共类MainActivity扩展了AppCompatActivity{
私有图像视图mImageView;
私有ImageView和ImageView;
私有ImageView m2ImageView;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mImageView=findViewById(R.id.stephen_carvalho_bald);
m1ImageView=findViewById(R.id.stephen_carvalho_golden_宝塔);
m2ImageView=findViewById(R.id.stephen_carvalho_hackathon);
mImageView.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图)
{
mImageView.setVisibility(视图.不可见);
m1ImageView.setVisibility(View.VISIBLE);
}
});
m1ImageView.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图)
{
m1ImageView.setVisibility(视图.不可见);
m2ImageView.setVisibility(View.VISIBLE);
}
});
m2ImageView.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图)
{
m2ImageView.setVisibility(视图.不可见);
mImageView.setVisibility(View.VISIBLE);
}
});
}
}
将所有图像添加到列表中:
private ArrayList<Integer> images = new ArrayList<Integer>();
images.add(R.drawable.image1);
images.add(R.drawable.image2);
images.add(R.drawable.image3);
...
按照我的方式,它会循环使用列表,但你可以通过在上面的计数器上设置适当的检查来打破循环。不管怎样,给你,你的应用程序的一个工作开关,快乐编码老兄强>
package com.example.helloworld;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private ImageView mImageView;
private ImageView m1ImageView;
private ImageView m2ImageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mImageView = findViewById(R.id.stephen_carvalho_bald);
m1ImageView = findViewById(R.id.stephen_carvalho_golden_pagoda);
m2ImageView = findViewById(R.id.stephen_carvalho_hackathon);
mImageView.setOnClickListener(this);
m1ImageView.setOnClickListener(this);
m2ImageView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.stephen_carvalho_bald:
mImageView.setVisibility(View.INVISIBLE);
m1ImageView.setVisibility(View.VISIBLE);
Toast.makeText(this, "You clicked view1", Toast.LENGTH_LONG).show();
break;
case R.id.stephen_carvalho_golden_pagoda:
m1ImageView.setVisibility(View.INVISIBLE);
m2ImageView.setVisibility(View.VISIBLE);
Toast.makeText(this, "You clicked view2", Toast.LENGTH_LONG).show();
break;
case R.id.stephen_carvalho_hackathon:
m2ImageView.setVisibility(View.INVISIBLE);
mImageView.setVisibility(View.VISIBLE);
Toast.makeText(this, "You clicked view3", Toast.LENGTH_LONG).show();
break;
}
}
}
嗯,我认为你应该考虑使用一个回收查看,你不需要三个不同的图像浏览。
package com.example.helloworld;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private ImageView mImageView;
private ImageView m1ImageView;
private ImageView m2ImageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mImageView = findViewById(R.id.stephen_carvalho_bald);
m1ImageView = findViewById(R.id.stephen_carvalho_golden_pagoda);
m2ImageView = findViewById(R.id.stephen_carvalho_hackathon);
mImageView.setOnClickListener(this);
m1ImageView.setOnClickListener(this);
m2ImageView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.stephen_carvalho_bald:
mImageView.setVisibility(View.INVISIBLE);
m1ImageView.setVisibility(View.VISIBLE);
Toast.makeText(this, "You clicked view1", Toast.LENGTH_LONG).show();
break;
case R.id.stephen_carvalho_golden_pagoda:
m1ImageView.setVisibility(View.INVISIBLE);
m2ImageView.setVisibility(View.VISIBLE);
Toast.makeText(this, "You clicked view2", Toast.LENGTH_LONG).show();
break;
case R.id.stephen_carvalho_hackathon:
m2ImageView.setVisibility(View.INVISIBLE);
mImageView.setVisibility(View.VISIBLE);
Toast.makeText(this, "You clicked view3", Toast.LENGTH_LONG).show();
break;
}
}
}