相对布局定位

时间:2015-02-08 23:24:17

标签: android android-layout

我正在尝试创建一个Relative Layout,其图标的垂直线位于其下方,文本位于其中右侧。文本将是一个段落,因此该行应该与文本减去图标的大小一样长。现在我的布局正确显示图标和文本,但我根本看不到垂直线。这是我的xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="0dp">

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingStart="2dp"
    android:paddingEnd="2dp"
    android:id="@+id/icon"
    android:layout_alignParentTop="true"
    android:layout_alignParentStart="true" />

<View
    android:layout_width="2dp"
    android:layout_height="match_parent"
    android:paddingStart="2dp"
    android:paddingEnd="2dp"
    android:background="@android:color/darker_gray"
    android:id="@+id/view"
    android:layout_alignParentBottom="true"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/icon" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingStart="2dp"
    android:paddingEnd="2dp"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="Medium Text"
    android:id="@+id/content"
    android:layout_alignParentTop="true"
    android:layout_toEndOf="@+id/icon" />
</RelativeLayout> 

我想我必须在View添加额外的填充,以便在我实际显示

后将其居中

enter image description here

1 个答案:

答案 0 :(得分:0)

此问题是由于您添加到垂直线的填充。基本上你有一个2dp的视图宽度,但你有4dp的填充,所以没有任何显示。将您的视图标记更新为:

<View
    android:layout_width="2dp"
    android:layout_height="match_parent"
    android:background="@android:color/darker_gray"
    android:id="@+id/view"
    android:layout_alignParentBottom="true"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/icon" />

您发布的布局似乎不会像您想要的那样。试试这个:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="0dp">

    <LinearLayout
        android:id="@+id/left_container"
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="match_parent">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingStart="2dp"
            android:paddingEnd="2dp"
            android:id="@+id/icon"/>

        <View
            android:layout_width="2dp"
            android:layout_height="match_parent"
            android:background="@android:color/darker_gray"
            android:id="@+id/view"
            android:layout_gravity="center_horizontal" />

   </LinearLayout>

   <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingStart="2dp"
        android:paddingEnd="2dp"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Medium Text"
        android:id="@+id/content"
        android:layout_alignParentTop="true"
        android:layout_toEndOf="@+id/left_container" />