首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在接收焦点上消除TextInputEditText中的提示

如何在接收焦点上消除TextInputEditText中的提示
EN

Stack Overflow用户
提问于 2018-07-05 11:48:17
回答 6查看 4.4K关注 0票数 1

按照建议的TextInputEditText,我使用这里来让用户将文本添加到特定的长度。

但是,我希望当TextInputEditText视图收到焦点时,提示应该消失,而不是在视图之上,如前面的教程所示。在这个回答中,所描述的解决方案是针对一个EditText,它只会使提示变得透明。然而,对于一个TextInputEditText,即使我在接收焦点时使提示透明,它仍然占据视图上方的空间。

在静态地接收TextInputEditText中的焦点时,是否有一种方法可以删除它?通过OnFocusChangeListener很容易做到这一点,但我希望在编译时完成它。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2018-07-05 12:01:51

尝试设置焦点,更改EditText上的侦听器,并在焦点为真时以编程方式隐藏提示,如果焦点为false且文本为空,则再次显示提示。

票数 2
EN

Stack Overflow用户

发布于 2018-07-05 12:13:57

从下面的post 如何使提示在编辑文本被触摸时消失?中试一试

代码语言:javascript
运行
复制
myEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    public void onFocusChange(View v, boolean hasFocus) {
        if (hasFocus)
            myEditText.setHint("");
        else
            myEditText.setHint("Your hint");
    }
});
票数 1
EN

Stack Overflow用户

发布于 2018-07-05 12:19:01

如果你想在焦点上消失,试试这个:

代码语言:javascript
运行
复制
textInputEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View view, boolean hasfocus) {
            if (hasfocus) {
                textInputLayout.setHint("test");
            } else {
                textInputLayout.setHint(null);
            }
        }
    });

如果您想在输入时消失(万一您正在寻找类似的东西),请尝试下面的代码:

代码语言:javascript
运行
复制
textInputEditText.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

        }

        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            if (TextUtils.isEmpty(textInputEditText.getText().toString())) {
                textInputLayout.setHint("test");
            } else {
                textInputLayout.setHint(null);
            }
        }

        @Override
        public void afterTextChanged(Editable editable) {

        }
    });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51190603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档