【问题标题】:Put TextView on right bottom corner将TextView放在右下角
【发布时间】:2017-10-23 06:34:39
【问题描述】:

我需要在布局的右下角放置一个 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>

谁能帮帮我?谢谢!

【问题讨论】:

    标签: android layout textview coordinates android-relativelayout


    【解决方案1】:

    对于积分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" />
    

    【讨论】:

    • 欢迎。编码愉快。
    【解决方案2】:

    在 TextView 中添加这个......

    android:gravity="bottom|right"
    

    【讨论】:

      【解决方案3】:

      对于 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">
      

      【讨论】:

        【解决方案4】:

        在文本视图中:

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

        应该这样做。

        而且它是一个相对的布局,weight 不适合它。

        【讨论】:

        • 这将文本视图放在左下角,而不是在右下角。为什么?感谢重量错误!
        【解决方案5】:

        TextView(你想放在右下角)

        所以使用

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

        在您的 TextView

        不要使用

        android:layout_weight="1"
        

        因为 layout_weight 在 LinearLayout 中起作用。

        【讨论】:

          【解决方案6】:

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

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

          ConstraintLayout Guide

          最后,要将TextViewRelativeLayout 的底部/右侧对齐,您应该使用:

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

          【讨论】:

            【解决方案7】:

            只需使用 framelayout 将元素放在一起。 Read this

            【讨论】:

              【解决方案8】:

              试试

              <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:" />
              

              【讨论】:

              • 这将文本视图放在左下角,而不是在右下角。为什么?
              • 或者使用 width=wrap-content
              • 更新了答案
              猜你喜欢
              • 1970-01-01
              • 2010-11-26
              • 1970-01-01
              • 1970-01-01
              • 2013-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-11-03
              相关资源
              最近更新 更多