javafx 运行在android上遇到的难题-完美解决
来源:互联网 发布:it has =it's 编辑:程序博客网 时间:2024/05/16 02:49
今天又拿起javafx 研究了一把 最后终于成功部署到了 android上 把步骤简单记录下来,有兴趣的可参考,不会的加群323237052
原文是:javafx部署到android上居然不支持中文,现在重要找到了解决方案 一句话:自定义字体 然后全局设置字体就可以了 这个是解决思路
scene.getStylesheets().add("/magicalcoder.css");
css:magicalcoder.css
@font-face { src: url('LiSu.ttf');}.label{ -fx-font-family: LiSu; -fx-font-size: 30;}.button{ -fx-font-family: LiSu;}.text-field{ -fx-font-family: LiSu; -fx-font-size: 30;}.text-area{ -fx-font-family: LiSu; -fx-font-size: 20;}
文件目录:
resources:magicalcoder.css LiSu.tff
国外有个项目 gluon,去他们官方网站下载 按照步骤来做 最终就能成功 以上抛砖引玉 中文问题一解决 就太好了 完全可以用来开发一下简单的项目了
亲测已经成功部署到android 至于ios由于没机器,没尝试 不过肯定也可以
android上的速度非常快 跟原生没啥区别
java片段
public BasicView(String name) { super(name); Label label = new Label("隶书"); Button button = new Button("隶书字体"); button.setGraphic(new Icon(MaterialDesignIcon.LANGUAGE)); TextArea textArea = new TextArea(); InputStream inputStream = null; final Font font ; try { inputStream = GluonApplication.class.getResourceAsStream("/LiSu.ttf"); } catch (Exception e) { e.printStackTrace(); } font = Font.loadFont(inputStream,30);// label.setFont(font); button.setOnAction(e -> { label.setText(font.getFamily());//获取字体的名称 } ); TextField textField = new TextField("测试"); textField.setText("好的呀"); VBox controls = new VBox(15.0, label, button); controls.getChildren().add(textField); controls.getChildren().add(textArea); controls.setAlignment(Pos.CENTER); setCenter(controls); }
"
1 中文问题 你会发现居然不支持中文
Droid Sans Fallback
查找原因:因为字体的远古只要下面控件加上字体属性 便可轻松解决中文无法显示的问题
<TextArea prefHeight="50.0" prefWidth="600.0" text="内容">
<font>
<Font name="Droid Sans Fallback" size="13.0" />
</font>
</TextArea>
费了好大劲本以为中文问题解决了 可惜,你试着在远古textfield输入中文 无论如何也无法出来 只能输入英文和数字
这又是为什么呢 希望大神能解决 研究了很久 无法解决,受伤的总是中国人 要是哪位大神解决了我的难题 奉上100元川资作为感谢
悬赏:使用gluon javafxposts mobile工具 打出来的apk包,所有的输入框控件都无法输入中文
不过为了达到输入中文的目的,我们曲线救国吧
webview神器,javafx支持webview ,我们把要输入中文的部分放到webview里面吧,然后通过java与webview的js交互,可以获取webview中
元素的内容,这样也就拿到了中文,可惜这一切实在太费劲了,为了个中文 绕一大圈,无奈 javafx 就这样 不温不火的 oracle算是坑了javafx 一点都不用心
不跨平台 谁会用你啊
"
- javafx 运行在android上遇到的难题-完美解决
- 完美解决Android Studio在gradle上的各种问题
- 完美解决Android Studio在gradle上的各种问题
- 完美解决Android Studio在gradle上的各种问题
- android的socket客户端在模拟上运行完美,是手机上不能连接上socket
- 将JavaFX运行到Android上
- 解决在Windows 2003上创建Web项目的难题
- Oracle在VMware上完美运行的10大理由
- 使用RoboVM来让JavaFX运行在IOS设备上
- 解决Android Studio卡顿运行慢的完美方案
- 完美解决Android Studio 运行时出现的警告信息?
- 完美解决频繁跳槽者的两大求职难题
- 关于在IOS10 系统上运行App 遇到的问题
- React Native在Genymotion上运行遇到的问题
- 使用Maven遇到的问题,完美解决
- 初次在Android上运行opencv app时,出现的错误,以及解决
- After Effects CS4已安装在此计算机上 要重新安装,请运行执行原始安装的安装程序"完美解决办
- 在qemu的beagleboard上运行android
- C++ 计蒜客算法基础入门最长上升子序列
- Python模块MySQLdb操作mysql出现2019错误:Can't initialize character set utf-8
- Linux启动新进程的几种方法及比较
- MySQL--SELECT
- php 反射
- javafx 运行在android上遇到的难题-完美解决
- 母港TOP用新API_url = "api_port/port";20150803
- 后缀数组小结
- MySQL学习笔记1基本操作
- linux编程出错: Value too large for defined data type.doc
- 向服务器发送请求
- Pie
- HDU 2689 Sort it (树状数组)
- 多态小结