Android 线性布局不是';t向右对齐

Android 线性布局不是';t向右对齐,android,view,alignment,Android,View,Alignment,我有以下xml代码: <LinearLayout android:layout_width="wrap_content" android:layout_height="140dp"> <de.hdodenhof.circleimageview.CircleImageView android:id="@+id/imageprofile" android:layout_width="120dp"

我有以下xml代码:

<LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="140dp">
    <de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/imageprofile"
        android:layout_width="120dp"
        android:layout_height="110dp"
        android:layout_gravity="right|center"
        android:layout_margin="35dp" />
    <TableLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|right"
        android:paddingLeft="15dp">

        <TableRow
            android:id="@+id/tableRow"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center">

            <TextView
                android:id="@+id/tvFullName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|left"
                android:fontFamily="sans-serif-light"
                android:text=""
                android:textSize="30dp"
                android:textStyle="bold" />

        </TableRow>
        <TableRow
        android:gravity="center"
        android:layout_gravity="center"
        android:id="@+id/tableRow"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

            <TextView
                android:id="@+id/tvUserName"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|left"
                android:text="Small Text"
                android:textSize="15dp"
                android:textStyle="italic" />
        </TableRow>
    </TableLayout>
</LinearLayout>

在这段代码中,图像(id:imageprofile)应该向左对齐 桌子的布局应该向右对齐


一切正常,只是桌面布局没有向左对齐。怎么了?

试试这个

<LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="140dp"
        android:orientation="horizontal"
>
    <de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/imageprofile"
        android:layout_width="120dp"
        android:layout_height="110dp"

        android:layout_margin="35dp" />
    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="15dp">

        <TableRow
            android:id="@+id/tableRow"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center">

            <TextView
                android:id="@+id/tvFullName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|left"
                android:fontFamily="sans-serif-light"
                android:text=""
                android:textSize="30dp"
                android:textStyle="bold" />

        </TableRow>
        <TableRow
        android:gravity="center"
        android:layout_gravity="center"
        android:id="@+id/tableRow"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

            <TextView
                android:id="@+id/tvUserName"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|left"
                android:text="Small Text"
                android:textSize="15dp"
                android:textStyle="italic" />
        </TableRow>
    </TableLayout>
</LinearLayout>

LinearLayout
不是这种情况下使用的最佳父级<当方向为水平方向时,代码>布局重力的工作方式与您期望的不一样,并且右侧视图的宽度为内容且不会像本例中那样填满整个空间。您应该使用
RelativeLayout
ConstraintLayout
。下面是一个使用
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="140dp"
    android:orientation="horizontal">

    <de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/imageprofile"
        android:layout_width="120dp"
        android:layout_height="110dp"
        android:layout_alignParentStart="true"
        android:layout_margin="35dp"/>

    <TableLayout
        android:id="@+id/tablelayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_centerVertical="true"
        android:layout_marginEnd="15dp">

        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center">

            <TextView
                android:id="@+id/tvFullName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|left"
                android:fontFamily="sans-serif-light"
                android:text=""
                android:textSize="30dp"
                android:textStyle="bold"/>

        </TableRow>

        <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center">

            <TextView
                android:id="@+id/tvUserName"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|left"
                android:text="Small Text"
                android:textSize="15dp"
                android:textStyle="italic"/>
        </TableRow>
    </TableLayout>
</RelativeLayout>


而且,您应该确保不会在与
TableRow
s

相同的布局中复制ID。请显示屏幕截图。我会给我一点时间。我不能显示屏幕截图,但选项卡布局会向左对齐并连接到图像,而不是在线性布局的边界处向右。您在上面的哪个位置使用tableLayout代码我看不到,你说它在那里是什么意思。