将 TextView 放在右下角

Put TextView on right bottom corner

我需要在布局的右下角放置一个 textView,如果没有 absoluteX 和 absoluteY 坐标,我不知道该怎么做。

我把代码和屏幕截图放在下面:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.prodintec.am_motion.QuizActivity">

<RelativeLayout
    android:layout_width="368dp"
    android:layout_height="wrap_content"
    tools:layout_editor_absoluteY="0dp"
    tools:layout_editor_absoluteX="8dp">

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="20dp"
        android:paddingEnd="10dp"
        android:paddingStart="10dp">

        <TableRow
            android:padding="2dp"
            android:id="@+id/tableRow1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/HeaderTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="FOUR OPTIONS QUESTION" />
        </TableRow>

        <TableRow
            android:padding="2dp"
            android:id="@+id/tableRow2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <Button
                android:id="@+id/answer1"
                android:layout_width="0dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:layout_gravity="center"
                android:paddingLeft="20dp"
                android:paddingRight="20dp"
                android:layout_marginLeft="2dp"
                android:layout_marginRight="2dp"
                android:layout_marginBottom="2dp"
                android:background="@color/primary"
                android:textColor="@color/accent"
                android:textSize="20dp"
                android:text="ANSWER 1" />

            <Button
                android:id="@+id/answer2"
                android:layout_width="0dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:layout_gravity="center"
                android:paddingLeft="20dp"
                android:paddingRight="20dp"
                android:layout_marginLeft="2dp"
                android:layout_marginRight="2dp"
                android:layout_marginBottom="2dp"
                android:background="@color/primary"
                android:textColor="@color/accent"
                android:textSize="20dp"
                android:text="ANSWER 2" />
        </TableRow>

        <TableRow
            android:padding="2dp"
            android:id="@+id/tableRow3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <Button
                android:id="@+id/answer3"
                android:layout_width="0dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:layout_gravity="center"
                android:paddingLeft="20dp"
                android:paddingRight="20dp"
                android:layout_marginLeft="2dp"
                android:layout_marginRight="2dp"
                android:layout_marginBottom="2dp"
                android:background="@color/primary"
                android:textColor="@color/accent"
                android:textSize="20dp"
                android:text="ANSWER 3" />

            <Button
                android:id="@+id/answer4"
                android:layout_width="0dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:layout_gravity="center"
                android:paddingLeft="20dp"
                android:paddingRight="20dp"
                android:layout_marginLeft="2dp"
                android:layout_marginRight="2dp"
                android:layout_marginBottom="2dp"
                android:background="@color/primary"
                android:textColor="@color/accent"
                android:textSize="20dp"
                android:text="ANSWER 4" />
        </TableRow>

        <TableRow
            android:padding="2dp"
            android:id="@+id/tableRow4"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/HeaderTextView2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="TWO OPTIONS QUESTION" />
        </TableRow>

        <TableRow
            android:padding="2dp"
            android:id="@+id/tableRow5"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <Button
                android:id="@+id/answer5"
                android:layout_width="0dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:layout_gravity="center"
                android:paddingLeft="20dp"
                android:paddingRight="20dp"
                android:layout_marginLeft="2dp"
                android:layout_marginRight="2dp"
                android:layout_marginBottom="2dp"
                android:background="@color/primary"
                android:textColor="@color/accent"
                android:textSize="20dp"
                android:text="ANSWER 1" />

            <Button
                android:id="@+id/answer6"
                android:layout_width="0dip"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:layout_gravity="center"
                android:paddingLeft="20dp"
                android:paddingRight="20dp"
                android:layout_marginLeft="2dp"
                android:layout_marginRight="2dp"
                android:layout_marginBottom="2dp"
                android:background="@color/primary"
                android:textColor="@color/accent"
                android:textSize="20dp"
                android:text="ANSWER 2" />
        </TableRow>
    </TableLayout>
    <TextView
        android:id="@+id/PointsTextView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="POINTS:" />
</RelativeLayout>

</android.support.constraint.ConstraintLayout>

谁能帮帮我?谢谢!

在 TextView 中:

 android:layout_alignParentBottom="true"
 android:layout_alignParentRight="true"

应该这样做。

并且它是一个相对布局,权重不适合它。

RelativeLayout的XML属性可以阅读此页了解: https://developer.android.com/reference/android/widget/RelativeLayout.LayoutParams.html

对于你的情况, 您可以使用 android:layout_alignParentBottomandroid:layout_alignParentRight

<TextView
    android:id="@+id/PointsTextView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:text="POINTS:" />

此外, 提醒添加 android:layout_above在tablelayout中,所以tablelayout会覆盖textview

<TableLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_above="@+id/PointsTextView"
    android:paddingTop="20dp"
    android:paddingEnd="10dp"
    android:paddingStart="10dp">

尝试

<TextView
  android:id="@+id/PointsTextView"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignParentBottom="true"
  android:layout_alignParentRight="true"
  android:gravity="right"
  android:text="POINTS:" />

TextView(你想放在右下角)

所以使用

android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"

在您的 TextView

并且不要使用

android:layout_weight="1"

因为 layout_weight 在 LinearLayout 内部工作。

您不应该在另一个 LayoutManager 中使用 ConstraintLayout,例如 RelativeLayout

而且您没有使用它,因为您没有使用约束来对齐 Views。这是给你的指南:

ConstraintLayout Guide

最后,要在 RelativeLayout 中的 bottom/rigth 内对齐 TextView,您应该使用:

 android:layout_alignParentBottom="true"
 android:layout_alignParentRight="true"

积分TextView使用以下代码:

<TextView
    android:id="@+id/PointsTextView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:padding="5dp"
    android:text="POINTS:"
    android:textAlignment="textEnd" />

只需使用 framelayout 将元素放在彼此之上。 Read this

在 TextView 中添加这个....

android:gravity="bottom|right"