【发布时间】:2015-05-28 07:51:55
【问题描述】:
我有两个这样的文本视图:
=======================
= TextView1 TextView2 =
=======================
我想检测文本视图何时太长以至于它们显示如下:
=======================
= TextView1 =
= TextView2 =
=======================
目前对于较长的文本,显示如下:
=======================
= TextView1 Text =
= View2 =
=======================
我怎样才能做到这一点,这样当文本很短时,文本视图并排,当文本太长时,第二个文本视图不会被拆分而是移动到第二行?
我提出了一个解决方案来创建单个文本视图并根据长度构建文本(文本 1 + 填充 + 文本 2 如果短,文本 1 + "\n" + 文本 2 如果长)但我不喜欢这个解决方案。
有什么方法可以检测第二个文本是否会被拆分,从而改变包含 textviews 的布局的方向从水平 cu 垂直?
更新
这是我的 xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center">
<TextView
android:id="@+id/my_text_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="10dp"
android:text="@string/text1"/>
<TextView
android:id="@+id/my_text_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginRight="5dp"/>
</LinearLayout>
【问题讨论】:
-
你能提供一些代码,你的文本视图在哪里使用?
-
我已经用我正在使用的 xml 更新了问题。我需要显示两个通常并排显示的文本,但是如果它们太长,则应该在另一个下显示它们。这是我被要求做的。
-
它们真的需要分开,或者从第二行的左边距开始的第二个文本的简单换行就足够了吗?
-
不,没有办法从 xml 实现这一点。您可以以某种方式以编程方式测量您的
text1并根据text1的大小和设备宽度从代码中添加您的TextView。但这将比仅使用 text1+" " text2 复杂得多。
标签: android android-layout textview