【问题标题】:Multiline TextView with line breaks wrapping带有换行符的多行 TextView
【发布时间】:2017-01-23 02:48:39
【问题描述】:

我正在尝试为 Google 地图图钉创建自定义 infocontents 模板,并且在使用以下代码包装多行 TextView 时遇到了一些奇怪的行为,其中包含带有多个换行符的文本:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="4dp"
    android:paddingTop="4dp"
    android:orientation="vertical">
  <ImageView
      android:id="@+id/OfficeImage"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="top|center_horizontal"
      android:scaleType="centerInside"
      android:adjustViewBounds="true"
      android:maxWidth="175dp"/>
  <TextView
        android:layout_marginTop="10dp"
        android:id="@+id/InfoWindowTitle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Sunshine Coast"
        android:textColor="@android:color/black"
        android:textStyle="bold"/>
  <TextView
      android:id="@+id/InfoWindowSubtitle"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:singleLine="false"
      android:textSize="10dp"
      android:text="Level 3, 2 Emporio Place\n2 Maroochy Blvd, Maroochydore QLD 4558\nPo Box 5800, Maroochydore BC QLD 4558"
      android:maxLines="10"
      android:textColor="@android:color/black"/>
</LinearLayout>

结果:

如图所示,第一行换行后的文本丢失。如果没有换行,或者最后一行是换行,则所有行都完美显示(见下图)。有谁知道如何让它正常工作?

【问题讨论】:

  • 尝试使用RelativeLayout作为父母。

标签: android xamarin xamarin.android xamarin.forms google-maps-android-api-2


【解决方案1】:

Muhammad Babar's 建议解决了这个问题。我添加了一个 RelativeLayout 作为 LinearLayout 的父级,现在所有文本都已正确显示(请参阅下面的工作代码)。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
  <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingBottom="4dp"
    android:paddingTop="4dp"
    android:orientation="vertical">
    <ImageView
        android:id="@+id/OfficeImage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="top|center_horizontal"
        android:scaleType="centerInside"
        android:adjustViewBounds="true"
        android:maxWidth="175dp"/>
    <TextView
          android:layout_marginTop="10dp"
          android:id="@+id/InfoWindowTitle"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:text="Sunshine Coast"
          android:textColor="@android:color/black"
          android:textStyle="bold"/>
    <TextView
        android:id="@+id/InfoWindowSubtitle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="10dp"
        android:text="Level 3, 2 Emporio Place\n2 Maroochy Blvd, Maroochydore QLD 4558\nPo Box 5800, Maroochydore BC QLD 4558"
        android:maxLines="10"
        android:textColor="@android:color/black"/>
  </LinearLayout>
</RelativeLayout>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多