Libgdx之TextFiled 文本输入框

在做一个游戏的时候总是避免不了要输入一些文字,Libgdx的TextFiled就一个处理输入的文本控件。使用TextFiled我们也可以设置输入密码。

TextField介绍

TextField是一个单行的文本输入,默认的宽度是150,preHeight是font的高度的或者是背景图片的高度。在桌面版中支持快捷键ctrl+c/ctrl+v。

在手游中特别是中文手游中,由于Libgdx对中文支持的不友好,特别是手机游戏屏幕比较小,因此特别不建议在游戏中大量输入中文。

此外TextField可以设置为密码模式,用指定的字符串代替显示字符。
测试代码

    TextField textField;

    Stage stage;
    Skin skin;

    @Override
    public void create() {
        skin = new Skin(Gdx.files.internal("uiskin.json"));
        stage = new Stage();
        Gdx.input.setInputProcessor(stage);

        textField = new TextField("", skin);
        textField.setSize(textField.getPrefWidth(), textField.getPrefHeight());
        Gdx.app.log("TAG", "preWidth=" + textField.getPrefWidth() + "preHeight=" + textField.getPrefHeight());
        // 设置提示文字
        textField.setMessageText("Enter ps");
//      设置文字输入对齐模式 居中
        textField.setAlignment(Align.center);
        // 设置是否为密码模式
        textField.setPasswordMode(true);
        // 如果是密码模式,那么设置替换密码的字符
        textField.setPasswordCharacter('*');
        // 设置光标默认闪烁时间,为了便于观察设置时间比较长,libgdx默认是0.32秒
        textField.setBlinkTime(0.2f);
        textField.setTextFieldListener(new TextFieldListener() {

            @Override
            public void keyTyped(TextField textField, char c) {
//              if (c == '\n') {
//                  textField.getOnscreenKeyboard().show(true);
//                  
//              }
                System.out.println("List="+textField.getText());
            }
        });
        stage.addActor(textField);
    }

    @Override
    public void render() {
        Gdx.gl.glClearColor(0.39f, 0.58f, 0.92f, 1.0f);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

        stage.act();
        stage.draw();
    }

    @Override
    public void dispose() {
        skin.dispose();
        stage.dispose();
    }

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值