首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓imageView

安卓imageView
EN

Stack Overflow用户
提问于 2012-01-26 01:53:22
回答 1查看 1.2K关注 0票数 0

我想做这样的事情……有一个以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:

代码语言:javascript
复制
    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很好地做到这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-26 02:10:17

我不知道我是否完全理解了,但我认为您所说的是,您有五个ImageViews,它们在单击时都执行条件逻辑。如果是这样的话,我通常要做的就是为所有的图像实现一个OnClickListener。您可以在所有图像上设置初始状态,然后在传递的View的id上进行切换,以启用和显示您想要显示的视图。

代码语言:javascript
复制
    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);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9007590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档