我想做这样的事情……有一个以splash.PNG为背景的相对布局...有五个ImageViews:@drawable\1.png,@drawable\2.png,@drawable\3.png,@drawable\4.png和@drawable\5.png...
1-可点击且可见;2-5 -不可见,clickable=为“false”
通过单击一次Imageview 2变为可见但不可单击,然后通过单击所有2-5出现,然后通过单击最后第五次2-5再次变为不可见...
对我来说,这样的构造只需要一个看不见的ImageView:
final ImageView iv36 = (ImageView) findViewById(R.id.yabl3skr);
iv36.setOnClickListener( new OnClickListener() {
@Override
public void onClick(View v33) {
// TODO Auto-generated method stub
final ImageView iv37 = (ImageView)findViewById(R.id.yab3);
iv37.setVisibility(1);
iv37.setClickable(true);
iv37.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v33) {
// TODO Auto-generated method stub
iv37.setVisibility(View.GONE);
iv37.setClickable(false);
}
});
}
}); 想知道如何用five imageViews很好地做到这一点吗?
发布于 2012-01-26 02:10:17
我不知道我是否完全理解了,但我认为您所说的是,您有五个ImageViews,它们在单击时都执行条件逻辑。如果是这样的话,我通常要做的就是为所有的图像实现一个OnClickListener。您可以在所有图像上设置初始状态,然后在传递的View的id上进行切换,以启用和显示您想要显示的视图。
final ImageView iv33 = (ImageView) findViewById(R.id.iv33);
final ImageView iv34 = (ImageView) findViewById(R.id.iv34);
final ImageView iv35 = (ImageView) findViewById(R.id.iv35);
final ImageView iv36 = (ImageView) findViewById(R.id.iv36);
final ImageView iv37 = (ImageView) findViewById(R.id.iv37);
OnClickListener imageClickListener = new OnClickListener() {
public void onClick(View v) {
// Initial state
iv33.setClickable(false);
iv34.setClickable(false);
iv35.setClickable(false);
iv36.setClickable(false);
iv37.setClickable(false);
iv33.setVisibility(View.GONE);
iv34.setVisibility(View.GONE);
iv35.setVisibility(View.GONE);
iv36.setVisibility(View.GONE);
iv37.setVisibility(View.GONE);
switch(v.getId())
{
case R.id.iv33:
// show and hide what you would like...
break;
case R.id.iv34:
// show and hide what you would like...
break;
case R.id.iv35:
// show and hide what you would like...
break;
case R.id.iv36:
// show and hide what you would like...
break;
case R.id.iv37:
// show and hide what you would like...
break;
}
}
};
iv33.setOnClickListener(imageClickListener);
iv34.setOnClickListener(imageClickListener);
iv35.setOnClickListener(imageClickListener);
iv36.setOnClickListener(imageClickListener);
iv37.setOnClickListener(imageClickListener);https://stackoverflow.com/questions/9007590
复制相似问题