优化模组信息对话框 UI 宽高 (#4616)

This commit is contained in:
Wulian233
2025-10-06 16:20:06 +08:00
committed by GitHub
parent 07e5ac9e0e
commit f1c8791961

View File

@@ -37,6 +37,7 @@ import javafx.scene.input.KeyEvent;
import javafx.scene.layout.HBox; import javafx.scene.layout.HBox;
import javafx.scene.layout.Priority; import javafx.scene.layout.Priority;
import javafx.scene.layout.StackPane; import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.util.Duration; import javafx.util.Duration;
import org.jackhuang.hmcl.mod.LocalModFile; import org.jackhuang.hmcl.mod.LocalModFile;
import org.jackhuang.hmcl.mod.ModLoaderType; import org.jackhuang.hmcl.mod.ModLoaderType;
@@ -418,6 +419,9 @@ final class ModListPageSkin extends SkinBase<ModListPage> {
HBox titleContainer = new HBox(); HBox titleContainer = new HBox();
titleContainer.setSpacing(8); titleContainer.setSpacing(8);
Stage stage = Controllers.getStage();
maxWidthProperty().bind(stage.widthProperty().multiply(0.7));
ImageView imageView = new ImageView(); ImageView imageView = new ImageView();
FXUtils.limitSize(imageView, 40, 40); FXUtils.limitSize(imageView, 40, 40);
loadModIcon(modInfo.getModInfo(), 40) loadModIcon(modInfo.getModInfo(), 40)
@@ -456,6 +460,11 @@ final class ModListPageSkin extends SkinBase<ModListPage> {
descriptionPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); descriptionPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
descriptionPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED); descriptionPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);
descriptionPane.setFitToWidth(true); descriptionPane.setFitToWidth(true);
description.heightProperty().addListener((obs, oldVal, newVal) -> {
double maxHeight = stage.getHeight() * 0.5;
double targetHeight = Math.min(newVal.doubleValue(), maxHeight);
descriptionPane.setPrefViewportHeight(targetHeight);
});
setBody(descriptionPane); setBody(descriptionPane);