我有几个观点(考虑图像)。一个图像(较大的图像)应该水平居中。其他视图(较小)应该在较大视图的左侧,但它应该在较大视图左侧的空间水平居中。
一个巨大的限制:所有这些视图应该在同一个布局中(我认为相对布局更适合这种情况)。
但我无法实现我所需要的。 非常感谢任何帮助。
答案 0 :(得分:0)
试试这个XML ...
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" >
<View
android:id="@+id/smallView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
<View
android:id="@+id/smallView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" >
<View
android:id="@+id/bigView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" >
<View
android:id="@+id/smallView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
<View
android:id="@+id/smallView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
</RelativeLayout>
</LinearLayout>
答案 1 :(得分:0)
似乎这样只能通过编程方式完成。
主要想法:
FrameLayout
并将所有需要的视图放入其中。left = (screenWidth - viewWidth) / 2
,right = (screenHeight - viewHeight) / 2
(也可能计算statusBar的高度)。FrameLayout.LayoutParams
定义leftMargin
,topMargin
- 顶部和左侧坐标,将每个视图放置在其位置。