JavaFX TextField android卡住

时间:2016-10-17 17:14:36

标签: java javafx gluon-mobile

我已经使用JavaFX几天了,现在我在android上遇到了文本字段的问题。
我有一个非常基本的应用程序,只有一个文本字段。当我点击它来输入一些文字时,一切都很好 As you can see here

但是当我精简打字并点击其他项目时,UI卡住了。不显示动画。当我再次单击文本字段时,键盘出现没有问题,我可以键入,我可以听到在Android上键入的通常声音,但UI仍然卡住,视觉文本字段不会更改as you an see here。 / p>

当我关闭显示器并再次打开时,会发生魔术。之后,我可以看到我输入的所有内容都在TextField中。 UI未被卡住,我键入的文本正确显示。但是当我点击另一个按钮时,它会在第一时间断开。

此外,我尝试使用 javafx.scene.control com.gluonhq.charm.glisten.control 中的TextField,它们都不起作用。

我正在使用的代码:
BasicView.java

package com.gluonapplication;

import com.gluonhq.charm.glisten.control.AppBar;
import com.gluonhq.charm.glisten.mvc.View;
import com.gluonhq.charm.glisten.visual.MaterialDesignIcon;
import com.gluonhq.charm.glisten.control.TextField;

public class BasicView extends View
{
    TextField field;

    public BasicView(String name)
    {
        super(name);

        field = new TextField();
        setTop(field);
    }

    @Override
    protected void updateAppBar(AppBar appBar)
    {
        appBar.setTitleText("Basic View");
        appBar.getActionItems().add(MaterialDesignIcon.SEARCH.button(e -> System.out.println("Search")));
    }
}

GluonApplication.java

package com.gluonapplication;

import com.gluonhq.charm.glisten.application.MobileApplication;
import com.gluonhq.charm.glisten.visual.Swatch;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.stage.Stage;

public class GluonApplication extends MobileApplication
{
    public static final String BASIC_VIEW = HOME_VIEW;

    @Override
    public void init()
    {
        addViewFactory(BASIC_VIEW, () -> new BasicView(BASIC_VIEW));
    }

    @Override
    public void postInit(Scene scene) {
        Swatch.BLUE.assignTo(scene);
        ((Stage) scene.getWindow()).getIcons().add(new Image(GluonApplication.class.getResourceAsStream("/icon.png")));
    }
}

的build.gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.0.9'
    }
}

apply plugin: 'org.javafxports.jfxmobile'

repositories {
    jcenter()
    maven {
        url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
    }
}

mainClassName = 'com.gluonapplication.GluonApplication'

dependencies {
    compile 'com.gluonhq:charm:3.0.0'

    androidRuntime 'com.gluonhq:charm-android:3.0.0'
    iosRuntime 'com.gluonhq:charm-ios:3.0.0'
    desktopRuntime 'com.gluonhq:charm-desktop:3.0.0'
}

jfxmobile {
    android {
        manifest = 'src/android/AndroidManifest.xml'
        androidSdk = 'D:\\AMAZING_THINGS\\AndroidSdk'
        compileSdkVersion = '16'
    }
}

那么,问题是如何达到“屏幕关闭/开启”效果?我觉得它与失去焦点和更新UI有关,但我不确定 感谢你的时间。

我使用的是Android 4.1.1,java 8

0 个答案:

没有答案