我有三个 imageViews 我想将所有这些ImageView
设置为一行。我已粘贴下面的当前xml代码。
<RelativeLayout
android:id="@+id/myFragement"
android:layout_width="wrap_content"
android:layout_height="306dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="44dp"
android:layout_weight="1.77"
android:orientation="horizontal" >
</RelativeLayout>
<ImageView
android:id="@+id/login_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/login_non_click" />
<ImageView
android:id="@+id/comapre_now_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:src="@drawable/compare_now_non_click_state" />
<ImageView
android:id="@+id/search_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/comapre_now_button"
android:src="@drawable/search_non_click" />
</RelativeLayout>
我解散后。发布我的应用程序的图像我认为这是有用的
编辑后,我发布了我的应用程序的所有Xml代码,我认为这对所有人都有帮助。
<RelativeLayout
android:id="@+id/myFragement"
android:layout_width="wrap_content"
android:layout_height="306dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginTop="44dp"
android:layout_weight="1.77"
android:orientation="horizontal" >
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal"
android:weightSum="3" >
<ImageView
android:id="@+id/login_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/login_non_click" />
<ImageView
android:id="@+id/comapre_now_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/compare_now_non_click_state" />
<ImageView
android:id="@+id/search_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/search_non_click" />
</LinearLayout>
答案 0 :(得分:11)
如下所示,将ImageView
放入内部LinearLayout
,水平orientation
:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal"
android:weightSum="3" >
<ImageView
android:id="@+id/login_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/login_non_click" />
<ImageView
android:id="@+id/comapre_now_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/compare_now_non_click_state" />
<ImageView
android:id="@+id/search_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/search_non_click" />
</LinearLayout>
答案 1 :(得分:4)
fida给出的答案应该提供你想要的(或接近它)。假设您希望它们占据屏幕的1/3。否则,您可以消除weight
属性并在View
之间使用保证金,或在每个属性之间使用空View
,并提供适当的weight
。
你没有在水平布局中获取它们的原因是因为你对第一个android:layout_width="match_parent"
有ImageView
所以我猜测它占据了整个宽度。它们应该是android:layout_width="wrap_content"
。另外,对于您的上一个,您android:layout_below="@+id/comapre_now_button"
明显会将View
放在id
之下。
假设您希望在中心,您可能需要android:layout_centerHorizontal="true"
或android:layout_toRightOf="@id/someId"
或android:layout_toLeftOf="id/someId"
此外,不是问题,但RelativeLayout
没有orientation
或weight
属性。