代码之家  ›  专栏  ›  技术社区  ›  Walter

如何在android LinearLayout中将ImageView向右移动?

  •  0
  • Walter  · 技术社区  · 6 年前

    这是我的xml。我需要把我的图标放在最右边。但它并没有向极右移动。 "tri_logo" 我认为重力是正确的。但仍然没有向右移动。

     <?xml version="1.0" encoding="utf-8"?>
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/toplayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:orientation="vertical"    >
    
            <LinearLayout
                android:id="@+id/lout_profile_header"
                android:layout_width="match_parent"
                android:layout_height="@dimen/top_view_height"
                android:clickable="true"
                android:gravity="center"
                android:orientation="horizontal">
    
                <com.test.customviews.CircleImageView
                    android:id="@+id/imgTopProfile"
                    android:layout_width="@dimen/profilie_icon_size"
                    android:layout_height="@dimen/profilie_icon_size"
                    android:layout_margin="@dimen/hdr_img_padding"
                    android:src="@mipmap/ic_profile" />
    
                <TextView
                    android:id="@+id/textTopProfile"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:layout_marginLeft="@dimen/hdr_name_padding" />
                <ImageView
                    android:id="@+id/tri_logo"
                    android:layout_width="30dp"
                    android:layout_height="30dp"
                    android:layout_gravity="right"
                    android:src="@drawable/tri_logo"/>
            </LinearLayout>
        </LinearLayout>
    

    图片框 tri\u徽标 没有向右移动。

    5 回复  |  直到 6 年前
        1
  •  1
  •   Navneet Krishna    6 年前

    试试这个

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toplayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:orientation="vertical">
    
    <LinearLayout
        android:id="@+id/lout_profile_header"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:weightSum="3"
        android:layout_gravity="right"
        android:orientation="horizontal">
    
        <com.test.customviews.CircleImageView
            android:id="@+id/imgTopProfile"
            android:layout_weight="1"
            android:layout_width="@dimen/profilie_icon_size"
            android:layout_height="@dimen/profilie_icon_size"
            android:layout_margin="@dimen/hdr_img_padding"
            android:src="@mipmap/ic_profile" />
    
        <TextView
            android:layout_weight="1"
            android:id="@+id/textTopProfile"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
             />
        <ImageView
            android:layout_weight="1"
            android:id="@+id/tri_logo"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_gravity="right"
            android:src="@drawable/voyage"/>
    </LinearLayout>
    </LinearLayout>
    

    您可以使用RelativeLayout,然后使用 layout_alignParentEnd=true ,如果你想坚持 LinearLayout 尝试以上一项

        2
  •  1
  •   Santanu Sur    6 年前

    收起你的 ImageView 在a中 RelativeLayout 具有 match_parent 宽度和用途 android:layout_alignParentRight="true" 像这样:

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">  
    
        <ImageView
            android:id="@+id/tri_logo"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_alignParentRight="true"
            android:src="@drawable/tri_logo"/>
    </RelativeLayout>
    
        3
  •  0
  •   MarGin    6 年前

    使用LinearLayout提供的工具。赋予子视图权重,并将父布局的重力更改为右侧

        4
  •  0
  •   Shanto George    6 年前
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/toplayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:orientation="vertical"    >
    
        <RelativeLayout
            android:id="@+id/lout_profile_header"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:clickable="true"
            android:gravity="center">
    
            <com.test.customviews.CircleImageView
                android:id="@+id/imgTopProfile"
                android:layout_width="@dimen/profilie_icon_size"
                android:layout_height="@dimen/profilie_icon_size"
                android:layout_margin="@dimen/hdr_img_padding"
                android:src="@mipmap/ic_profile" />
    
            <TextView
                android:id="@+id/textTopProfile"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="100dp" />
            <ImageView
                android:layout_alignParentRight="true"
                android:id="@+id/tri_logo"
                android:layout_width="30dp"
                android:layout_height="30dp"
                android:layout_gravity="right"
                android:src="@drawable/tri_logo"/>
        </RelativeLayout>
    </LinearLayout>
    
        5
  •  0
  •   ADM    6 年前

    使用 RelatiVeLayout 作为直接父母。

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/toplayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:orientation="vertical"    >
    
        <RelativeLayout
            android:id="@+id/lout_profile_header"
            android:layout_width="match_parent"
            android:layout_height="@dimen/top_view_height"
            android:clickable="true"
            >
    
            <com.test.customviews.CircleImageView
                android:id="@+id/imgTopProfile"
                android:layout_width="@dimen/profilie_icon_size"
                android:layout_height="@dimen/profilie_icon_size"
                android:layout_centerVertical="true"
                android:layout_margin="@dimen/hdr_img_padding"
                android:src="@mipmap/ic_profile" />
    
            <TextView
                android:id="@+id/textTopProfile"
                android:layout_width="match_parent"
                android:layout_centerVertical="true"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:layout_toLeftOf="@+id/tri_logo"
                android:layout_toRightOf="@+id/imgTopProfile"
                android:layout_marginLeft="@dimen/hdr_name_padding" />
            <ImageView
                android:id="@+id/tri_logo"
                android:layout_width="30dp"
                android:layout_centerVertical="true"
                android:layout_height="30dp"
                android:layout_alignParentRight="true"
                android:src="@drawable/tri_logo"/>
        </RelativeLayout>
    </LinearLayout>