繁体   English   中英

如何使用RelativeLayout将视图居中

[英]How to center views with RelativeLayout

我有一个卡片视图,必须显示一个图标,一个标题和副标题,如下图所示。

  -------------------------------------------- | -------- | | | | TextView_1 | | | Icon | TextView_2 | | | | | | ________ | ____________________________________________ 

我想要的是将TextView_1和TextView_2垂直居中,但我无法获得它。 我知道我可以使用LinearLayout水平和LinearLayout垂直。 我想要得到相同的结果,但只使用RelativeLayout 在我正在使用的代码下面:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/icon"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_marginRight="@dimen/normal_spacing"
        android:src="@drawable/icon" />

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toEndOf="@+id/icon"
        android:layout_toRightOf="@+id/icon"
        tools:text="Title" />

    <TextView
        android:id="@+id/subtitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/title"
        android:layout_toEndOf="@+id/icon"
        android:layout_toRightOf="@+id/icon"
        android:textStyle="bold"
        tools:text="Subtitle" />
</RelativeLayout>

关于如何使两个文本视图垂直居中的任何想法? :-)

用这个....

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <ImageView
            android:id="@+id/icon"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="@dimen/normal_spacing"
            android:src="@drawable/icon" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/icon"
            android:layout_alignTop="@+id/icon"
            android:layout_toEndOf="@+id/icon"
            android:layout_toRightOf="@+id/icon"
            android:orientation="vertical" 
            android:gravity="center_vertical">

            <TextView
                android:id="@+id/title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                tools:text="Title"/>

            <TextView
                android:id="@+id/subtitle"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textStyle="bold"
                tools:text="Subtitle" />
        </LinearLayout>
    </RelativeLayout>

像这样使用layout_centerVertical:

<ImageView
    android:id="@+id/icon"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_marginRight="@dimen/normal_spacing"
    android:src="@drawable/icon" />

<TextView
    android:id="@+id/title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toEndOf="@+id/icon"
    android:layout_toRightOf="@+id/icon"
    tools:text="Title" 
    android:layout_centerVertical="true"/>

<TextView
    android:id="@+id/subtitle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/title"
    android:layout_toEndOf="@+id/icon"
    android:layout_toRightOf="@+id/icon"
    android:textStyle="bold"
    tools:text="Subtitle"
    android:layout_centerVertical="true" />
   </RelativeLayout>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM