我们假设一个TextViews
内部LinearLayouts
的简单序列与下面的TextViews
一样,文字会动态填充到相应的<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView3" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView4" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView5" />
</LinearLayout>
</LinearLayout>
。
TextViews
如果2 textView2
的文字,我们如何说textView3
和textView4
,或textView5
和var someObj= {
"1234": {
"prop1": "prop1value",
"prop2": "prop2value",
"prop3": [
"key1",
"key2"
]
}
}
,太宽而不适合内联,那么它们的父LinearLayout的方向会动态地变为垂直,而是将一个放在另一个之上,这样文本就不会以奇怪的方式在屏幕的末尾被中断?
提前致谢!
答案 0 :(得分:1)
因此,为了以编程方式更改布局方向:
LinearLayout layout = /* ... */;
layout.setOrientation(LinearLayout.VERTICAL);
您可以通过调用getLineCount()
来检查textView是否合适。你可以玩这两个来获得预期的结果。
如果您接受此方案,我建议您将布局更改为垂直布局。
你也可以使用autofitTextView控件,这样它总是只需要1行并动态改变字体的大小,如果它对你没问题的话。你可以在这里找到一个: