我有一个水平方向的线性布局(代码中的linear2)。 我在这个布局中放了一个按钮,editText和第二个按钮。 我想将按钮的宽度设置为“wrap_content”。 如何在不使用重量的情况下将所有剩余空间分配给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>
谢谢!
答案 0 :(得分:2)
请尝试这种方式,希望这有助于您解决问题。
在这里,我尝试改进您的LinearLayout权重分配
<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>
答案 1 :(得分:0)
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"
/>