镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

The default size cannot be set when creating a Webview directly. #30

Description

@HKMV

Use Webview wv = new Webview(true, 800, 600); create Webview;
You will see that the window changes from small to large, instead of being 800x600 when it appears.

Looking at the source code, I found that Webview(true, 800, 600) only calls the setSize method internally, and does not set the initial size.

How do I set the default size during initialization?

OS:Windows11
JDK: OpenJDK21

Activity

  1. isinvon commented on Nov 3, 2024

    @isinvon

    我遇到了同样的问题,在创建Webview实例并且执行setSize()的时候会发生动画过渡不太流畅的窗口尺寸变化。

    后来我发现作者的主页 fork 了一个仓库 https://github.com/e3ndr/webview-nightly-build-fork
    这个项目的script文件夹中有脚本可以生成dll文件,可以通过修改webview.h来生成目标webview.dll和WebView2Loader.dll

    在 https://github.com/e3ndr/webview-nightly-build-fork/blob/build-latest-commit/webview.h 这个文件中有一处代码为:

    constexpr const int initial_width = 640;
    constexpr const int initial_height = 480;
    set_size(initial_width, initial_height, WEBVIEW_HINT_NONE);
    
    

    image
    刚好经过我测试640x480就是webview_java这个项目创建窗口时默认的尺寸,但是由于我对C/C++语言不太熟悉,能力有限。如果能够办法将下面这部分代码中的 initial_width 和 initial_height 通过Java程序调用webview的时候传进来,应该是可以避免你说的这个问题的。

    set_size(initial_width, initial_height, WEBVIEW_HINT_NONE);
    
  2. HKMV commented on Nov 3, 2024

    @HKMV
    Author

    @isinvon 感谢,我略微有些了解,我抽空看下

  3. HKMV commented on Nov 4, 2024

    @HKMV
    Author

    @isinvon 你好,我这边已做适配,在我电脑上测试已经可以。java项目中暂时只提交了win下x86_64的类库,后面再补全其他的。

    webview: https://github.com/HKMV/webview-nightly-build-fork
    webview_java: https://github.com/HKMV/webview_java

  4. isinvon commented on Nov 4, 2024

    @isinvon

    @HKMV 测试完美,真是太感谢您了!!!!

  5. NotJustAnna commented on Apr 16, 2025

    @NotJustAnna

    Can confirm, NotJustAnna/webview fixes behavior highlighted by this issue and issue #34.

    2025-04-16.08-51-03.mp4
  6. HKMV commented on Apr 16, 2025

    @HKMV
    Author

    Can confirm, NotJustAnna/webview fixes behavior highlighted by this issue and issue #34.

    I have fixed this problem above, you can take it as a reference, my repair is as follows:
    webview: https://github.com/HKMV/webview-nightly-build-fork
    webview_java: https://github.com/HKMV/webview_java https://github.com/user-attachments/assets/8bd08163-d21f-4ea1-a262-560c3852800c

  7. NotJustAnna commented on Apr 16, 2025

    @NotJustAnna

    Can confirm, NotJustAnna/webview fixes behavior highlighted by this issue and issue #34.

    I have fixed this problem above, you can take it as a reference, my repair is as follows: webview: https://github.com/HKMV/webview-nightly-build-fork webview_java: https://github.com/HKMV/webview_java https://github.com/user-attachments/assets/8bd08163-d21f-4ea1-a262-560c3852800c

    The fix was made mostly by being on the main repository, as SteffenL highlighted here: webview/webview#1296 (comment)

    I believe the following PRs were meant to fix the issue described by webview/webview_java#30:

    These PRs introduced dispatch_size_default() less than a month ago.

    The fix on my fork was just removing the setSize() call made by webview_java and updating binaries to run on the latest commit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions