Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EditText如何占据版面中的所有剩余空间?_Java_Android_Android Layout_Android Edittext - Fatal编程技术网

Java EditText如何占据版面中的所有剩余空间?

Java EditText如何占据版面中的所有剩余空间?,java,android,android-layout,android-edittext,Java,Android,Android Layout,Android Edittext,我有一个水平方向的线性布局(代码中的linear2)。 我在这个布局中放置了一个按钮、editText和第二个按钮。 我希望按钮的宽度为“包裹内容”。 如何在不使用权重的情况下为editText提供所有剩余空间? 是否可以在不使用重量的情况下将此布局置于底部 垂直视图的位置 代码如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill

我有一个水平方向的线性布局(代码中的linear2)。 我在这个布局中放置了一个按钮、editText和第二个按钮。 我希望按钮的宽度为“包裹内容”。 如何在不使用权重的情况下为editText提供所有剩余空间? 是否可以在不使用重量的情况下将此布局置于底部 垂直视图的位置

代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/backNormal"
    android:orientation="vertical">

    <ScrollView
        android:id="@+id/scroll"
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:orientation="vertical"
        android:layout_weight="12">
        <LinearLayout
            android:id="@+id/linear1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
        </LinearLayout>
    </ScrollView>

    <LinearLayout
        android:id="@+id/linear2"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="2"
        android:orientation="horizontal">
        <ImageView
            android:id="@+id/buttonClip"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_gravity= "center_vertical|center_horizontal"/>

        <EditText
            android:id="@+id/editChatMessage"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:gravity="top|left"
            android:maxLines="5"
            android:layout_gravity= "center_vertical|center_horizontal"
            android:layout_weight="5"/>
        <Button
            android:id="@+id/buttonProcess"
            android:text='Process'
            android:gravity="center"
            android:layout_gravity= "center_vertical|center_horizontal"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
    </LinearLayout>
</LinearLayout>

谢谢

让您的Edittext内容保持高水平……就是这样。
 Keep your Edittext hight wrap_content.....that's it.

     <EditText
        android:id="@+id/editChatMessage"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="top|left"
        android:maxLines="5"
        android:layout_gravity= "center_vertical|center_horizontal"
        android:layout_weight="5"
        />

试试这种方法,希望这能帮助您解决问题。

在这里,我尝试改进您的线性布局重量分配

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/backNormal"
    android:orientation="vertical">
    <ScrollView
        android:id="@+id/scroll"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="0.85">
        <LinearLayout
            android:id="@+id/linear1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
        </LinearLayout>
    </ScrollView>

    <LinearLayout
        android:id="@+id/linear2"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="0.15"
        android:gravity="center">
        <ImageView
            android:id="@+id/buttonClip"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:src="@drawable/ic_launcher"
            android:scaleType="fitXY"/>

        <EditText
            android:id="@+id/editChatMessage"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:gravity="top|left"
            android:maxLines="5"
            android:layout_weight="1"/>
        <Button
            android:id="@+id/buttonProcess"
            android:text='Process'
            android:gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"/>
    </LinearLayout>
</LinearLayout>


使用RelativeLayout而不是LinearLayout。如果您使用LinearLayout实现了您的需求,那么您必须使用权重。EditText旁边有一个按钮,它如何占据剩余空间?请你把你的需求图片贴出来好吗?好的,谢谢。我将尝试relativeLayout将editview置于底部。是的!你又帮了我。再次感谢!我懂这个把戏!您刚刚将按钮宽度更改为“wrap_content”并删除了weith,但此布局中的其他视图具有权重。哈!我不知道这种方法!