在Android上定位三个视图(一个左侧,一个居中和扩展,一个右侧)的正确方法是什么?

时间:2014-09-27 22:59:01

标签: android layout

我有三个视图,全部位于水平线上,垂直于中心对齐。整个事物应该明显扩展到设备的100%宽度。

  • - 固定宽度,向左浮动,两侧有边距
  • 中心 - 尽可能扩展,双方都有边距
  • 正确 - 固定宽度,向右浮动,两边都有边距

以下是它的外观

screenshot

在Android上表示这一点的最简单和惯用的方法是什么?如果存在兼容性限制,我可以使用4.x。

2 个答案:

答案 0 :(得分:2)

使用水平LinearLayout作为三个项目的容器。在中间项目上使用android:layout_weight="1"使其在三个项目的基本宽度处理后吸收所有剩余宽度。使用android:layout_marginRight和相关属性设置边距。在android:gravity="center_vertical"上设置LinearLayout,将三个项目置于LinearLayout高度的中心位置。

答案 1 :(得分:0)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_gravity="center_vertical">
<ImageView
    android:layout_width="64dp"
    android:layout_height="64dp"
    android:layout_alignParentLeft="true"
    android:id="@+id/myViewId1"
    />
<TextView
    android:layout_width="240dp"
    android:layout_height="40dp"
    android:layout_toRightOf="@id/myViewId1"/>
<ImageView
    android:layout_width="64dp"
    android:layout_height="64dp"
    android:layout_alignParentRight="true"/>

我认为你应该没问题,如果中心视图有任何问题,请运用android:marginTop =&#34; 10dp&#34;并将是完美的。祝你好运