[英]how to handle clicks for such these image buttons ui objects?
如何制作两个imageView,并要求用户选择其中一个(例如)作为性别,然后选择imageView更改其背景,如果再次单击,它将返回正常背景
像这样的ImageViews:
我敢肯定有更好的方法,但这是最基本的方法。 这是MainActivity:
public class MainActivity extends AppCompatActivity {
private boolean mMaleImgClicked, mFemaleImgClicked;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ImageView maleImg = (ImageView) findViewById(R.id.male_imageview);
final ImageView femaleImg = (ImageView) findViewById(R.id.female_imageview);
maleImg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!mMaleImgClicked) {
maleImg.setImageResource(R.drawable.female_image);
mMaleImgClicked = true;
} else {
maleImg.setImageResource(R.drawable.male_image);
mMaleImgClicked = false;
}
}
});
femaleImg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!mFemaleImgClicked) {
femaleImg.setImageResource(R.drawable.male_image);
mFemaleImgClicked = true;
} else {
femaleImg.setImageResource(R.drawable.female_image);
mFemaleImgClicked = false;
}
}
});
}
}
...和activity_main:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/male_imageview"
android:src="@drawable/male_image"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/female_imageview"
android:src="@drawable/female_image"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content" />
</LinearLayout>
单击时可以在每个imageview中使用setColorFilter,只需将其添加到imageview onClick
:
imageview.setColorFilter(Color.argb(50, 0, 0, 0));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.