1

LinearLayout用来水平放置两个ImageView。我已将图像放在ImageView. 现在我需要在ImageView. 我看过很多帖子,但所有帖子都处理Relativelayoutor Framelayout。这是我使用的 XML 代码段。

<LinearLayout
    android:id="@+id/relativeLayout2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dip"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/imgmode31"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="10dp"
        android:adjustViewBounds="true"
        android:maxHeight="180dp"
        android:maxWidth="140dp"
        android:scaleType="fitXY"
        android:src="@drawable/i5" >
    </ImageView>

    <ImageView
        android:id="@+id/imgmode32"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:longClickable="false"
        android:maxHeight="180dp"
        android:maxWidth="280dp"
        android:scaleType="fitXY"
        android:src="@drawable/i1" >
    </ImageView>

</LinearLayout>

任何帮助将不胜感激。

4

3 回答 3

1

这正是线性布局应该防止的。但是,您可以使用负填充覆盖下一个元素的定位。问题在于不同的屏幕密度会发生什么。

我认为这就是表面视图的意义所在。它在整个屏幕上提供了一个透明的绘图表面,允许您在其他视图的顶部进行绘图。

最后一个想法是将您的第一个图像放置在线性布局内的框架布局中。然后,您可以使用填充将叠加图像添加到框架布局中以定位它。

于 2012-06-08T17:33:14.737 回答
1

您可以使用相对布局轻松完成

<RelativeLayout 
android:id="@+id/relativeLayout2" 
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
    <ImageView     
     android:layout_height="wrap_content"     
     android:layout_width="wrap_content"   
     android:adjustViewBounds="true" 
     android:scaleType="fitXY"
     android:src="@drawable/i5"
     android:id="@+id/imgmode31" 
     android:maxHeight="180dp" 
     android:maxWidth="140dp">
   </ImageView>
   <ImageView     
     android:layout_height="wrap_content"     
     android:layout_width="wrap_content"  
     android:scaleType="fitXY" 
     android:longClickable="false"  
     android:adjustViewBounds="true" 
     android:src="@drawable/i1" 
     android:id="@+id/imgmode32" 
     android:maxHeight="180dp" 
     android:maxWidth="280dp">
   </ImageView>
</RelativeLayout>

如果你想ImagView相互重叠,那么让它们HeightWidth相同,你也可以ImageView在运行时将任何一个放在前面

于 2012-06-08T17:35:40.213 回答
0

ALinearLayout线性放置元素,一个相邻。如果你想将一个元素放在另一个元素之上,那么你需要使用 aFrameLayoutRelativeLayout

如果您将您的更改LinearLayout为 a FrameLayout,您应该会看到两个ImageViews 重叠。

于 2012-06-08T17:29:05.893 回答