将文本和图像中心对齐

时间:2015-04-08 17:52:07

标签: android android-layout android-imageview textview

我以彼此相邻的列表格式显示文字和图像,但我无法将它们排列在一条完整的中心旁边,直线上我缺少什么

以下是我的布局代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" >



    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView"
        android:textSize="14dp"
        android:textStyle="bold"
        android:layout_gravity="center|right"
        android:gravity="center|right"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="10dp"

         />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/textView1"
        android:layout_gravity="center|right"
        android:gravity="center|right"
        android:src="@drawable/image_ls"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="10dp"

         />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center|right"
        android:text="TextView"
         android:textSize="14dp"
        android:layout_toRightOf="@+id/imageView1"
        android:textStyle="bold"
        android:gravity="center|right"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="10dp"
         />

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="wrap_content"
        android:layout_gravity="center|right"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/textView2"
        android:src="@drawable/image_ls"
        android:gravity="center|right"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="10dp"


         />


</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

对于这种情况,我希望通过这种简单的布局设计相对于相对的线性布局,您只需要使用它就更容易和直接:

android:layout_gravity="center_vertical"

如果需要任何其他尺寸限制,请使用重量。 这是解决方案希望它所需要的:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
 >

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

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="hello"
        android:textStyle="bold"
        android:layout_gravity="center_vertical"
        android:layout_marginTop="10dp"

         />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:src="@drawable/ic_launcher"

        android:layout_gravity="center_vertical"
        android:layout_marginTop="10dp"

         />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="hello"
        android:textStyle="bold"
     android:layout_gravity="center_vertical"
        android:layout_marginTop="10dp"
         />

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="wrap_content"

        android:layout_height="wrap_content"
      android:layout_gravity="center_vertical"
        android:src="@drawable/ic_launcher"

        android:layout_marginTop="10dp"


         />

</LinearLayout>
</LinearLayout>

答案 1 :(得分:0)

这确实有效:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:padding="5dp"
    android:gravity="center_vertical|center_horizontal"


    android:background="@color/gray_dark">



    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="TextView"
        android:textSize="14dp"
        android:textStyle="bold"
        android:layout_gravity="center_vertical|right"
        android:gravity="center_vertical|right"
        android:layout_marginLeft="5dp"


        />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_toRightOf="@+id/textView1"
        android:layout_gravity="center_vertical|right"
        android:gravity="center_vertical|right"
        android:src="@drawable/image_ls"
        android:layout_marginLeft="5dp"


        />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical|right"
        android:text="TextView"
        android:textSize="14dp"
        android:layout_toRightOf="@+id/imageView1"
        android:textStyle="bold"
        android:gravity="center_vertical|right"
        android:layout_marginLeft="5dp"

        />

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_toRightOf="@+id/textView2"
        android:src="@drawable/image_ls"
        android:layout_gravity="center_vertical|right"
        android:gravity="center_vertical|right"
        android:layout_marginLeft="5dp"



        />


</RelativeLayout>