Android - 如何修复图像的位置

时间:2014-09-28 22:31:30

标签: android android-imageview

我有LinearLayout,其ImageView右侧有许多文本字段和LinearLayout。但是,图像的位置永远不会固定,并根据TextView字段的内容而移动。我该如何解决这个问题?我试过操纵android:layout_gravity,但这并没有给我一个解决方案。无论TextView的内容如何,​​我都希望我的图像能够在右侧停靠。这是我的布局文件。任何指针或解决方案都将非常受欢迎。

<?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="horizontal" 
>

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="144dp"
    android:orientation="vertical"
    android:layout_gravity="left"

 >

    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/name_field"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:text="@string/name"  />

        <TextView
            android:id="@+id/name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

     </LinearLayout>

    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/date_of_birth_field"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:text="@string/date_of_birth"  />

        <TextView
            android:id="@+id/date_of_birth"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

     </LinearLayout>

    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/place_of_birth_field"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:text="@string/place_of_birth"  />

        <TextView
            android:id="@+id/place_of_birth"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

     </LinearLayout>

    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/height_field"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:text="@string/height"  />

        <TextView
            android:id="@+id/height"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

    </LinearLayout>

    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/blood_type_field"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:text="@string/blood_type"  />

        <TextView
            android:id="@+id/blood_type"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

     </LinearLayout>

 </LinearLayout>

<ImageView
    android:id="@+id/member_image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="right"


/>

</LinearLayout>

1 个答案:

答案 0 :(得分:1)

在最外层布局中使用RelativeLayout。您可以将图像设置为右侧和垂直居中。

 <?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"
      >

      <LinearLayout
           android:layout_width="wrap_content"
           android:layout_height="144dp"
           android:orientation="vertical"

           >

           <LinearLayout
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:orientation="horizontal" >

                <TextView
                     android:id="@+id/name_field"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:text="@string/name"  />

                <TextView
                     android:id="@+id/name"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content" />

           </LinearLayout>

           <LinearLayout
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:orientation="horizontal" >

                <TextView
                     android:id="@+id/date_of_birth_field"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:text="@string/date_of_birth"  />

                <TextView
                     android:id="@+id/date_of_birth"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content" />

           </LinearLayout>

           <LinearLayout
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:orientation="horizontal" >

                <TextView
                     android:id="@+id/place_of_birth_field"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:text="@string/place_of_birth"  />

                <TextView
                     android:id="@+id/place_of_birth"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content" />

           </LinearLayout>

           <LinearLayout
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:orientation="horizontal" >

                <TextView
                     android:id="@+id/height_field"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:text="@string/height"  />

                <TextView
                     android:id="@+id/height"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content" />

           </LinearLayout>

           <LinearLayout
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:orientation="horizontal" >

                <TextView
                     android:id="@+id/blood_type_field"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:text="@string/blood_type"  />

                <TextView
                     android:id="@+id/blood_type"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content" />

           </LinearLayout>

      </LinearLayout>

      <ImageView
           android:id="@+id/member_image"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignParentRight="true"
           android:layout_centerVertical="true"

           />

 </RelativeLayout>