如何在运行时更改 webview 的高度?
Posted
技术标签:
【中文标题】如何在运行时更改 webview 的高度?【英文标题】:How to change the height of a webview on Runtime? 【发布时间】:2011-01-21 10:01:29 【问题描述】:我有一个 webview 和一个包含 4 个按钮的表格。我已将 webview 的高度设置为 400px,以便按钮以纵向模式显示在屏幕底部。我的问题是,当更改为横向模式时,按钮不可见。所以当方向改变时,我需要在运行时改变 webview 的高度。有人知道如何实现这一目标吗?我可以使用“onConfigurationChanged”函数捕捉方向变化。
感谢CommonsWare,我给的xml如下。应用程序在启动时崩溃。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_
android:layout_>
<RelativeLayout android:layout_alignParentTop="true">
<WebView
android:id="@+id/appView"
android:layout_
android:layout_ />
</RelativeLayout>
<RelativeLayout
android:layout_alignParentBottom="true">
<TableLayout
android:id="@+id/TableLayout01"
android:layout_
android:layout_
android:gravity="center_vertical">
<TableRow
android:id="@+id/TableRow01"
android:layout_
android:layout_
android:gravity="center">
<ImageButton
android:id="@+id/more"
android:padding="1dip"
android:src="@drawable/more1"
android:layout_marginRight="15dip">
</ImageButton>
<ImageButton
android:id="@+id/albums"
android:padding="1dip"
android:src="@drawable/albums1"
android:layout_marginRight="15dip">
</ImageButton>
<ImageButton
android:id="@+id/videos"
android:padding="1dip"
android:src="@drawable/videos"
android:layout_marginRight="15dip">
</ImageButton>
<ImageButton
android:id="@+id/artists"
android:padding="1dip"
android:src="@drawable/artists1"
android:layout_marginRight="15dip">
</ImageButton>
</TableRow>
</TableLayout>
</RelativeLayout>
</LinearLayout>
【问题讨论】:
【参考方案1】:设计您的布局以避免400px
的硬连线值。这不仅不能在您正在测试的任何模拟器/设备上以横向模式工作,而且在更小或更大的屏幕上也不会像您期望的那样工作。
请使用RelativeLayout
,属性如android:layout_alignParentBottom
用于按钮,android:layout_alignParentTop
和android:layout_above
用于WebView
。然后,您的布局将动态适应可用空间。
【讨论】:
以上是关于如何在运行时更改 webview 的高度?的主要内容,如果未能解决你的问题,请参考以下文章
更改 WKWebview 框架高度后如何删除 WKScrollView 内的空白区域?
SwiftUI - 如何在运行时更改内部内容后获取 ScrollView 内容高度
如何在使用tableViews自定义单元格时在运行时更改表视图单元格高度?
如何在使用 tableViews 自调整单元格时在运行时更改表格视图单元格高度?