我尝试创建一个片段,上面和下面都有一个Button
。显示了上面的按钮,但未显示下面的按钮。这就像WebView
试图占据屏幕上的所有剩余空间,而不管LinearLayout
中可能有什么其他元素。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/blue"
android:text="test1"/>
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/blue"
android:text="test2"/>
</LinearLayout>
如何显示WebView
下面的内容,并阻止WebView
占用视图中的所有剩余空间?
当试图增加重量时,事情变得更加奇怪。将按钮的权重设置为1,将WebView
的权重设置为0,这意味着按钮根本不会显示:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="2">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/blue"
android:text="test1"
android:layout_weight="1"/>
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/blue"
android:text="test2"
android:layout_weight="1"/>
</LinearLayout>
最后,当试图给予WebView
一个0.1的权重时,按钮都显示出来了,但它们在屏幕上的高度只有2dp左右:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="2.1">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/blue"
android:text="test1"
android:layout_weight="1"/>
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/blue"
android:text="test2"
android:layout_weight="1"/>
</LinearLayout>
1条答案
按热度按时间v8wbuo2f1#
设置
android:layout_height="0dp"
和android:layout_weight="1"
,使webview
占据按钮之间的所有可用空间: