在framelayout中将imageView置于顶部

时间:2011-09-06 05:53:33

标签: android

我有一个framelayout,其中有surfaceView和ImageView,ImageView是不可见的。基于某些事件,ImageView必须变得可见。但它没有走到前台。我知道图像已经变得可见,因为我可以在日志中看到但它没有显示,因为它不在顶部,SurfaceView是。那么我怎样才能将ImageView带到顶端?这是我的代码。

public void onClick(查看v){

    if(v.getId() == R.id.Button1) {

        Toast.makeText(getApplicationContext(), "Button1", Toast.LENGTH_SHORT).show();

        image = (ImageView) findViewById(R.id.lockIcon1);

        if(!icon1show) {
            icon1show = true;
            image.setVisibility(View.VISIBLE);
        }else {
            icon1show = false;
            image.setVisibility(View.INVISIBLE);
        }

    }else if( v.getId() == R.id.Button2) {

        Toast.makeText(getApplicationContext(), "Button2", Toast.LENGTH_SHORT).show();

        image = (ImageView) findViewById(R.id.lockIcon2);

        if(!icon2show) {
            icon2show = true;
            image.setVisibility(View.VISIBLE);

        }else {
            icon2show = false;
            image.setVisibility(View.INVISIBLE);

        }

    }
}

XML代码:

            <ImageView android:id="@+id/lockIcon2"
                        android:src="@drawable/lockicon"
                        android:visibility = "invisible"
                        android:layout_width="wrap_content" 
                        android:layout_height="wrap_content"/>
            <SurfaceView android:id="@+id/far_end"
                        android:layout_height="217.33dip" android:layout_width="291dip"/>



    </FrameLayout>

现在“lockIcon2”中的图像没有显示,因为在frameLayout中有一个SurfaceView和imageView。所以请帮助!!

3 个答案:

答案 0 :(得分:2)

请添加一段代码,以便我们为您提供帮助。你使用bringToFront()方法吗?

答案 1 :(得分:0)

我完全不了解你,但我认为你需要让SurfaceView消失,而不是看不见。当它不可见时,它将占据屏幕上的位置。试试这个......

答案 2 :(得分:0)

使用requestTransparentRegion()调用找到了一个解决了这个问题的答案。

https://stackoverflow.com/a/8904508/233048