3

我想显示一些帮助文本(就像在网页中,当一个字段被聚焦时,一个非模态弹出窗口会显示关于在该字段中输入的内容)。

我使用android:hint了 EditText 的属性,但如果它很长,它会剪辑文本。有没有内置或快速的方法来做到这一点?

4

3 回答 3

6

在包含提示的 EditText 下方添加一个 TextView。默认情况下将其设置为不可见。

<EditText
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
/>
<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="your hint message..."
/>

现在添加一个 onFocusChangeListener 以使 TextView 可见/不可见:

editText.setOnFocusChangeListener(new OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        if(hasFocus){
            tvHint.setVisibility(View.VISIBLE);
        }else{
            tvHint.setVisibility(View.INVISIBLE);
        }
    }
});
于 2012-06-22T12:42:36.267 回答
0

有一个TextView就在EditText. 实现onFocusListeneredittext ,当编辑文本具有焦点时,将 textView 可见性设置为 View.VISIBLE ,它将显示帮助文本。当编辑文本失去焦点时,使文本视图不可见。

于 2012-06-22T12:44:09.570 回答
0

您可以使用自定义 Toast按摩或PopupWindow进行非模态弹出窗口,如 web 看到这些喜欢帮助您创建自定义 Toast 和 popupwindow

https://github.com/quiqueqs/Toast-Expander/blob/master/src/com/thirtymatches/toasted/ToastedActivity.java

http://www.mobilemancer.com/2011/01/08/popup-window-in-android/

OnFocusChangeListener并在用户单击 EditView 或离开焦点时使用 Listener 进行跟踪

txtEdit.setOnFocusChangeListener(new OnFocusChangeListener() {          

        public void onFocusChange(View v, boolean hasFocus) {
            if(!hasFocus)
               //show Toast massages or PopupWindow     here           
        }
    });
于 2012-06-22T12:44:43.093 回答