2012-01-16 80 views

回答

0

难不帮你的布局XML代码。话虽如此,当你看到“一个在另一个之上”时,你需要考虑FrameLayout

0

使用的FrameLayout,并设置相同的背景图像,然后用重力布局设置为左或右或中间添加在上面的图像。

1

当使用相对布局的唯一选择这样做,是在布局,以中心组图片,但如果你开始添加更多的元素,比如上面的一些文本/低于任何图像,结果会不会像预期。

所以我的建议是以编程方式进行。您可以定义一个视图并覆盖onDraw()方法。然后,您将通过两个ImageView(或BitmapFactory)加载位图。然后将其绘制到所需位置的画布上。要找出每个图像的中心,您可以使用您从View method getDrawingRect得到Rect class应用(使大小计算)的布局属性后,,或通过手(创建一个矩形与您加载的位图的尺寸德使用BitmapFactory)

其他替代方法是使用LayerDrawable并定义图像位置以使它们居中(您需要事先知道图像尺寸)。

0

在创建新sublayout代替,则可能会使该ImageViews在各方面调整和设置scaleType属性类似center

<ImageView 
    android:id="@+id/circle_a" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/..." 
    android:scaleType="center"/> 

<ImageView 
    android:id="@+id/circle_b" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/..." 
    android:layout_alignTop="@+id/circle_a" 
    android:layout_alignBottom="@+id/circle_a" 
    android:layout_alignLeft="@+id/circle_a" 
    android:layout_alignRight="@+id/circle_a" 
    android:scaleType="center" /> 

这将给circle_b ImageView的实际尺寸相同circle_a,但设置适当的scaleType将防止图像被拉伸或未对齐。

//编辑:UPS,我的意思是说center ...纠正。

相关问题