为什么我的相对格式看起来很尴尬?

时间:2017-03-30 01:38:24

标签: android android-layout

我正在尝试为我的学校项目建立相对布局。中心元素拒绝与顶部相同的高度和距离。我该如何解决这个问题?

编辑:使用fontAwesome澄清图标是textViews。稍微调试我切换了左侧和中央容器的图标,中心仍然更高,所以我认为这是格式化问题。

布局:

<RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingTop="10dp"
        android:orientation="horizontal">

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:orientation="vertical"
            android:paddingTop="10dp">

            <TextView
                android:id="@+id/icDate"
                android:textAppearance="@color/colorPrimaryDark"
                android:text="@string/fa_calender"
                android:textSize="24sp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textAlignment="center">
            </TextView>

            <TextView
                android:textAppearance="@color/colorPrimaryDark"
                android:id="@+id/tvDate"
                android:textSize="14sp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textAlignment="center">
            </TextView>

        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:orientation="vertical"
            android:paddingTop="10dp">

            <TextView
                android:id="@+id/icDuration"
                android:textAppearance="@color/colorPrimaryDark"
                android:text="@string/fa_time"
                android:textSize="24sp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textAlignment="center">
            </TextView>

            <TextView
                android:textAppearance="@color/colorPrimaryDark"
                android:id="@+id/tvDuration"
                android:textSize="14sp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textAlignment="center">
            </TextView>

        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:orientation="vertical"
            android:paddingTop="10dp">

            <TextView
                android:id="@+id/icDistance"
                android:textAppearance="@color/colorPrimaryDark"
                android:text="@string/fa_road"
                android:textSize="24sp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textAlignment="center">
            </TextView>

            <TextView
                android:textAppearance="@color/colorPrimaryDark"
                android:id="@+id/tvDistance"
                android:textSize="14sp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textAlignment="center">
            </TextView>

        </LinearLayout>


    </RelativeLayout>

用bg强调问题:

enter image description here

没有bg

enter image description here

2 个答案:

答案 0 :(得分:0)

两种方法。

1,使用Paint确保您的图片尺寸完全相同。

2,调整特定的图像尺寸

            android:layout_width="30dp"
            android:layout_height="30dp"

答案 1 :(得分:0)

您是否尝试在所有android:layout_centerVertical="true"中使用LinearLayout

请记住,您必须将图标加上日期或图标下方的任何文字居中。因此,您必须使两者的容器居中,即LinearLayout

此外,使用android:textAlignment="center"将文本置于其自己的边框中心。它没有以父布局为中心。