Imageview在另一个imageview之上还是没有?

时间:2013-06-14 11:46:33

标签: android

enter image description here

enter image description here

我有两个图像视图view1,view2.view1是黑色图像,view2是白色图像。 这里view1在第一张图片中是单个的.view2在第二张图片中超过view1。

1)我如何检查view1是否为单一(在第一张图片中),其他视图是否在它上面?

2)我如何检查view1不是单一的(在第二张图片中),另一个视图在它上面?

4 个答案:

答案 0 :(得分:1)

您尝试检查z轴,请参阅此问题并使用FrameLayout:Layout Layers? Z-Axis?

<FrameLayout>
  <RelativeLayout>
    <!--  Place the objects you want on the bottom here -->
  </RelativeLayout>


  <RelativeLayout>
    <!--  Place the objects you want on the top here -->
  </RelativeLayout>
</FrameLayout>

正如另一个指出的那样,你必须使内部视图可见或不可见。

希望这有帮助。

答案 1 :(得分:0)

您可以检查两个图像视图的可见性,无论它们是否在另一个图像视图之上。

//...
ImageView v1 = (ImageView) findViewById(R.id.view1);
ImageView v2 = (ImageView) findViewById(R.id.view2);

if(v2.getVisibility() != View.VISIBLE)
   //The view v2 is not visible so V1 is alone
else
   //Both views are visible

如果v2不可见,它将不会位于第一个视图的顶部。

希望有所帮助:)

答案 2 :(得分:0)

尝试这样的事情:

ImageView outer = (ImageView) view.findViewById(R.id.outer);
ImageView inner = (ImageView) view.findViewById(R.id.inner);

// Do all your overlapping code here

// When you want to check if they are visible try something like this :
if (View.VISIBLE == inner.isVisible())
{
    //Do something
}

答案 3 :(得分:0)

如果您想在用户与其交互时更改图像(例如,您有一个复选框,并且您希望在检查时有imageview1而未检查时是imageview2)那么您应该添加 res / drawable 包含选择器的文件(其中radio_selected是来自imageView1的图片,radio_deselected是来自imageView2的图片):

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/radio_select" android:state_checked="true"/>
    <item android:drawable="@drawable/radio_deselect"/>
 <!-- default not pressed -->

</selector>

您将拥有一个imageView,其背景设置为包含上述选择器的文件的名称。这样,当用户与控件交互时,状态将自动改变,图像也将自动改变。

如果您对此方法有任何帮助,请告诉我。