我的布局文件定义了一个WebView,下面有一些固定的高度按钮.
<?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"
android:fadingEdge="none">
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1.0"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="60dp"
android:padding="8dp">
<Button
android:text="Decline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.0">
</Button>
<Button
android:text="Accept"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.0">
</Button>
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我正在尝试在WebView周围添加填充,就像文本一直运行到UI的边缘一样.
我尝试添加android:padding="8dp"到WebView,但没有添加填充.我也尝试过paddingLeft和paddingRight,但它们也没有用.
该网页视图 API文档确认它查看,支持继承的android:填充属性,所以我很惊讶这没有奏效.
有人知道这是一个已知的问题,还是我的布局XML的一些互动,我不理解?
仅供参考,我的解决方法是在WebView周围添加额外的LinearLayout,并将填充添加到其中:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1.0"
android:padding="8dp">
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 我有一个JavaFX WebView,我希望它与开始时的场景一样大.如果我可以通过场景调整大小,这将是完美的.
但是现在我只关注初始尺寸.
@Override
public void start(Stage stage) {
try {
Scene scene = new Scene(createWebViewPane(), 1920, 1080);
scene.getStylesheets().add(getClass().getResource("Styles/application.css").toExternalForm());
stage.setScene(scene);
stage.show();
} catch (Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码创建了一个宽度为1920px,高度为1080px的场景.createWebViewPane()在窗格上创建WebView.
private Pane createWebViewPane() {
final Pane pane = new Pane();
pane.minWidth(1920);
pane.minHeight(1080);
WebView browser = new WebView();
browser.minWidth(1920);
browser.prefWidth(1920);
browser.minHeight(1080);
browser.prefHeight(1080);
WebEngine webEngine = browser.getEngine();
webEngine.load(getClass().getResource("index.html").toExternalForm());
pane.getChildren().add(browser);
return pane;
}
Run Code Online (Sandbox Code Playgroud)
在那里,我尝试设置宽度/高度.我也在样式表中设置它.
web-view{
-fx-font-scale: 1;
-fx-min-width: 1920px;
-fx-min-height: 1080px;
-fx-pref-width: 100%;
-fx-pref-height: 100%;
}
Run Code Online (Sandbox Code Playgroud)
但是这些属性似乎都不会影响WebView.它仍然具有默认大小.宽800像素,高600像素.
我仍然在JavaFX中学习和试验GUI,我似乎无法获得我想要的"外观"..我试图在面板中组合几个标签,然后在另一个面板中添加另一个标签.但我似乎无法弄清楚如何在JavaFX中正确使用"JPanels"?
任何帮助将不胜感激:D谢谢
编辑: 这是我试图通过尝试不同的布局,仍然没有运气实现