我有一个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。所以请帮助!!
答案 0 :(得分:2)
请添加一段代码,以便我们为您提供帮助。你使用bringToFront()
方法吗?
答案 1 :(得分:0)
我完全不了解你,但我认为你需要让SurfaceView消失,而不是看不见。当它不可见时,它将占据屏幕上的位置。试试这个......
答案 2 :(得分:0)
使用requestTransparentRegion()调用找到了一个解决了这个问题的答案。