我有这个布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="left">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Some text" />
</LinearLayout>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"/>
</LinearLayout>
但是如果在第一个文本视图中(在LinearLayout中)是大量文本,则第二个文本视图会离开屏幕。这可以通过将android:layout_weigh =“1”设置为线性布局来解决。但在这种情况下,线性布局将填充所有空间,我需要线性布局在短文本中填充最小空间,而不是在线性布局时隐藏第二文本视图的大量文本。
答案 0 :(得分:0)
如果第一个textview占用太多水平空间,则第二个textview将在屏幕外呈现...
要避免在屏幕外渲染第二个文本视图,您需要限制第一个文本视图的水平大小。你可以给第一个textview一个带有固定数值的android:layout_width。你可以将android:singleLine设置为false。您可以将android:maxWidth设置为适当的值。 (我没有尝试过这些解决方案,但它们应该可以工作)。
或者,您可以考虑使用单个textview而不是连续两个。
答案 1 :(得分:0)
解决方案是将第一个TextView放在ScrollView中,并将第二个TextView放在一个永远不会隐藏的固定页脚中(这可以完成with a RelativeLayout)。
如果您的第一个TextView中有太多文本,那么您仍然可以在显示第二个TextView时滚动它。