2014-09-21 141 views
0

我试图让我的文本包装在左边的顶部行下,但它不会让我。我甚至用过wrap_content文本视图文本没有正确包装

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:screenOrientation="portrait" 
    android:gravity="center_horizontal"> 

    <TextView 
     android:text="@string/title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     style="@android:style/TextAppearance.Large" 
     android:textColor="@color/wc" 
     android:layout_gravity="center_horizontal" /> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 
     <TextView 
      android:text="@string/yellow" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginRight="5dp" 
      style="@android:style/TextAppearance.Medium" 
      android:textColor="@color/yellow" /> 
     <TextView 
      android:text="@string/teal" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginRight="5dp" 
      style="@android:style/TextAppearance.Medium" 
      android:textColor="@color/teal" /> 
     <TextView 
      android:text="@string/red" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginRight="5dp" 
      style="@android:style/TextAppearance.Medium" 
      android:textColor="@color/red" /> 
     <TextView 
      android:text="@string/and" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginRight="5dp" 
      style="@android:style/TextAppearance.Medium" 
      android:textColor="@color/white" /> 
     <TextView 
      android:text="@string/white" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginRight="5dp" 
      style="@android:style/TextAppearance.Medium" 
      android:textColor="@color/white" /> 
     <TextView 
      android:text="@string/white" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginRight="5dp" 
      style="@android:style/TextAppearance.Medium" 
      android:textColor="@color/white" /> 
    </LinearLayout> 
</LinearLayout> 
+0

你想包装哪个文本是“Terminus”还是下面的大textview? – Bernas 2014-09-21 20:16:32

+0

在 – MacaronLover 2014-09-21 20:39:21

回答

1

你不能使用几个textview,因为一行中的几个TextView会一个接一个对齐,如果文本太大,你不能简单地将最后一个TextView放到下面。使用一个TextView并通过代码在html的帮助下编写文本以获得多种颜色。像这样:

TextView txt = (TextView)findViewById(R.id.my_text_view_id); 
txt.setText(Html.fromHtml("<font color="yellow">Way out,</font><font color="blue"> DLR,</font><font color="red"> Central</font>< color="white"> and Northern</font>")); 
1

视图中使用了两组宽度和高度(API here)。第一对是测量宽度和测量高度,并确定视图想要在其父项中有多大。

但对于你的情况,以防止文本换行的行,你可以使用:

android:inputType="text" 

如果您的所有文字是在一个单一的TextView这只作品。

如果您想要一个允许您选择单个条目的实现,也许更好的解决方案将是一个ListView(here),以便最终用户更容易导航和选择,以及更容易处理发展方面。

或者,如果您想格式化文本样式,请考虑在单个TextView中使用格式化技术。这里是我在快速搜索中找到的tutorial

+0

下面的大文本视图在说'北方'的时候,我只是想让它进入下一行,因为第一行太长了。 – MacaronLover 2014-09-21 20:48:20

+0

是的,为了避免在北方出现这种情况,你需要把它放到一个单独的TextView中,用于整个'出路,DLR,中央和北部',并使用格式化技术来应用颜色,字体等,吨要求他们是可选的。然后使用android:inputType =“text”确保正确的文本间距,以便在视图中的空间不足时不会拆分单词。 – fakataha 2014-09-21 21:58:53