【问题标题】:Wrap text inside TextView在 TextView 内换行
【发布时间】:2017-02-08 11:20:00
【问题描述】:

这是我的行布局。 如何在两行中获取列表视图中的文本?

行数据:

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

<TextView
    android:text="Date"
    android:textSize="16sp"
    android:textStyle="bold"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/date"
    android:ellipsize="none"
    android:scrollHorizontally="false"

    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />

<TextView
    android:text="Subject"
    android:textSize="16sp"
    android:textStyle="bold"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/subject"
    android:ellipsize="none"
    android:scrollHorizontally="false"
    android:layout_alignBaseline="@+id/date"
    android:layout_alignBottom="@+id/date"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    />

<TextView
    android:text="Status"
    android:textSize="16sp"
    android:textStyle="bold"
    android:ellipsize="none"
    android:scrollHorizontally="false"
    android:maxLines="100"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/status"
    android:layout_alignBaseline="@+id/date"
    android:layout_alignBottom="@+id/date"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />

我在 ListView 中膨胀了这个 row_data。现在我在 textView 中包装文本时遇到问题。我的文字相互重叠。

这是我得到的结果:

我想将我的文本换行到第二行。我怎样才能做到这一点?

【问题讨论】:

  • 使用Linear Layout 和方向horizontal 并在TextView 中使用layout_width 属性
  • 显示 mw 你的行数据 xml 文件。
  • 已经发布了 Rishabh
  • 好的,我添加了一个解决方案,请检查。

标签: android xml listview


【解决方案1】:

使用LinearLayout & layout_weight 将所有视图平分这里是您的布局

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

    <TextView
        android:id="@+id/date"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ellipsize="none"
        android:scrollHorizontally="false"
        android:text="Date"
        android:textSize="16sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/subject"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ellipsize="none"
        android:gravity="center"
        android:scrollHorizontally="false"
        android:text="Subject"
        android:textSize="16sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/status"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ellipsize="none"
        android:gravity="right"
        android:maxLines="100"
        android:scrollHorizontally="false"
        android:text="Status"
        android:textSize="16sp"
        android:textStyle="bold" />
</LinearLayout>

【讨论】:

    【解决方案2】:

    RelativeLayout 使用具有相等权重的 LinearLayout。

    【讨论】:

      【解决方案3】:

      如果你在不使用布局的情况下像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">
          <RelativeLayout
              android:id="@+id/ivnotification_layout"
              android:background="#FFFFFF"
              android:layout_width="match_parent"
      
              android:layout_height="wrap_content">
              <LinearLayout
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:orientation="horizontal"
                  android:weightSum="3"
                  >
                  <LinearLayout
                      android:id="@+id/layout1"
                      android:layout_width="0dp"
                      android:layout_height="match_parent"
                      android:layout_weight="1">
                      <RelativeLayout
                          android:layout_width="match_parent"
                          android:layout_height="match_parent">
                          <TextView
                              android:text="Date"
                              android:textSize="16sp"
                              android:textStyle="bold"
                              android:layout_width="wrap_content"
                              android:layout_height="wrap_content"
                              android:id="@+id/date"
                              android:ellipsize="none"
                              android:scrollHorizontally="false"
      
                              android:layout_alignParentTop="true"
                              android:layout_centerHorizontal="true" />
                      </RelativeLayout>
                  </LinearLayout>
      
                  <LinearLayout
                      android:id="@+id/layout2"
                      android:layout_weight="1"
                      android:layout_width="0dp"
                      android:layout_height="match_parent">
                      <RelativeLayout
                          android:layout_width="match_parent"
                          android:layout_height="match_parent">
                          <TextView
                              android:text="Subject"
                              android:textSize="16sp"
                              android:textStyle="bold"
                              android:layout_width="wrap_content"
                              android:layout_height="wrap_content"
                              android:id="@+id/subject"
                              android:ellipsize="none"
                              android:layout_centerHorizontal="true"
                              android:scrollHorizontally="false"
                              />
                      </RelativeLayout>
      
                  </LinearLayout>
      
                  <LinearLayout
                      android:id="@+id/layout3"
                      android:layout_weight="1"
                      android:layout_width="0dp"
                      android:layout_height="match_parent">
                      <RelativeLayout
                          android:layout_width="match_parent"
                          android:layout_height="match_parent">
                          <TextView
                              android:text="Status"
                              android:textSize="16sp"
                              android:textStyle="bold"
                              android:layout_centerVertical="true"
                              android:layout_centerHorizontal="true"
                              android:ellipsize="none"
                              android:scrollHorizontally="false"
                              android:maxLines="100"
                              android:layout_width="wrap_content"
                              android:layout_height="wrap_content"
                              android:id="@+id/status"
                               />
                      </RelativeLayout>
                  </LinearLayout>
      
      
      
              </LinearLayout>
          </RelativeLayout>
          </LinearLayout>
      

      【讨论】:

        【解决方案4】:
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">
        
            <TextView
                android:id="@+id/date"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ellipsize="none"
                android:scrollHorizontally="false"
                android:text="Date"
                android:lines="1"
                android:maxLines="1"
                android:inputType="text"
                android:gravity="center"
                android:textSize="16sp"
                android:textStyle="bold" />
        
            <TextView
                android:id="@+id/subject"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ellipsize="none"
                android:gravity="center"
                android:inputType="text"
                android:scrollHorizontally="false"
                android:text="Subject"
                android:lines="1"
                android:maxLines="1"
                android:textSize="16sp"
                android:textStyle="bold" />
        
            <TextView
                android:id="@+id/status"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ellipsize="none"
                android:gravity="center"
                android:inputType="text"
                android:scrollHorizontally="false"
                android:text="Status"
                android:lines="1"
                android:maxLines="1"
                android:textSize="16sp"
                android:textStyle="bold" />
        </LinearLayout>
        

        使用这个。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-03-09
          相关资源
          最近更新 更多