在RelativeLayout中,我在同一行上对齐了两个TextView: 第一个与左侧对齐,第二个与右侧对齐。 如果第一个texview太长,我怎么能将第二个TextView转换为“新行”?
这是我的应用程序的屏幕截图:
this is a screenshot http://img812.imageshack.us/img812/3466/chatscreenshot.jpg
在第一种情况下,第一个textview“Something”和第二个(时间)对齐。 在第二种情况下,我想将第二个textview移到第一个。
这是我的xml文件的代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="5dip"
android:paddingRight="5dip"
android:paddingTop="5dip"
android:paddingBottom="5dip" >
<ImageView
android:id="@+id/immagine"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginRight="10dp"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/nickTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/immagine"
android:text="Nickname"
android:textSize="14dp" />
<TextView
android:id="@+id/messaggioTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/nickTextView"
android:layout_toRightOf="@+id/immagine"
android:text="Messaggio"
android:textColor="#333"
android:textSize="14dp" />
<TextView
android:id="@+id/oraText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/nickTextView"
android:layout_alignBottom="@+id/nickTextView"
android:layout_alignParentRight="true"
android:text="TextView"
android:textColor="#999"
android:textSize="12dip" />
<TextView
android:id="@+id/dataText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/messaggioTextView"
android:layout_alignBottom="@+id/messaggioTextView"
android:layout_alignParentRight="true"
android:text="TextView"
android:textColor="#999"
android:textSize="12dip" />
感兴趣的文本视图是messaggioTextView和oraText。
有什么想法吗?
答案 0 :(得分:3)
<TextView
android:id="@+id/messaggioTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/dataText"
android:layout_below="@+id/nickTextView"
android:layout_toRightOf="@+id/immagine"
android:text="texttextkhgfkdklgfhkldfhghdgkljdlfkjhg;ldf;hhvasdv;svabsab"
android:textColor="#333"
android:textSize="14dp" />
<TextView
android:id="@+id/dataText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/messaggioTextView"
android:layout_alignParentRight="true"
android:text="TextView"
android:textColor="#999"
android:textSize="12dip" />
答案 1 :(得分:0)
考虑为您的布局的文本部分实现FlowLayout(或使用其他人here)。
答案 2 :(得分:0)
我知道的三种方式,也许存在更好的方式:
1)在Html中加载文本并将其设置为文本视图(您可以使用html样式和...)
String text = "<font color=#cc0029>text 1</font> <font color=#ffcc00>text 2</font>";
textView.setText(Html.fromHtml(text));
2)在一个文本视图中加载文本,但为文本的每个部分设置spannable 3)创建自定义TextView类并计算文本长度然后如果大于您想要在此下面设置另一个textview布局