我想要这样的事情:
但我不知道如何调整TextView的大小,以便它获得屏幕上的所有可用空间,这些空间不受EditText或Buttons的影响。我可以在代码中或在xml中执行吗?
在XML中,我尝试将TextView放入FrameLayout,但没有区别。目前看起来像:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/consola"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars = "vertical"
android:text="@string/hello"/>
</FrameLayout>
<EditText
android:id="@+id/comando"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:text="Conectar"
android:id="@+id/boton_conectar"
android:layout_width="wrap_content"
android:layout_weight="0.5"
android:layout_height="wrap_content">
</Button>
<Button
android:text="Enviar"
android:id="@+id/boton_enviar"
android:layout_width="wrap_content"
android:layout_weight="0.5"
android:layout_height="wrap_content">
</Button>
</LinearLayout>
</LinearLayout>
在代码中,我只是检查按钮是否与Listeners一起推送。其中之一,在推送时,获取EditText中的文本,并将其附加到TextView。它工作,TextView变得更高,而EditText和Buttons下降一行。如果我继续追加线条,最终的EditText和Buttons就会离开屏幕。我想避免这种行为,并完成将这三个小部件粘在屏幕底部。
答案 0 :(得分:2)
使用android:layout_weight=1
属性,例如表单底部的按钮。这将为它分配大部分空间以及剩下的其他元素。
答案 1 :(得分:2)
这都是关于重量的。这应该给你你想要的东西:
<?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">
<TextView android:text="TextView"
android:id="@+id/textView1"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="0dp">
</TextView>
<EditText android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<requestFocus></requestFocus>
</EditText>
<LinearLayout android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button android:text="Button"
android:id="@+id/button1"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_width="0dp">
</Button>
<Button android:text="Button"
android:id="@+id/button2"
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="1">
</Button>
</LinearLayout>
</LinearLayout>
(旁注:当使用重量时,将相应的高度/宽度设置为0dp
有时会出现一些奇怪的行为。)
答案 2 :(得分:0)
尝试android:fillViewport =“true”。