我在 iphone 上有这个应用程序,我想为 android 制作它,在 iphone 上,当开始在 EditText 中编辑文本时,显示顶部显示带有消息的工具提示,我想让它也适用于 android,但我没有找不到任何有用的东西,这里是 iphone printscreen 的链接
问问题
10234 次
4 回答
5
Android 中没有悬停工具提示的概念。您可以做以下两件事中的任何一件:
LongClickListener
EditText
当用户长按它时,你会显示一个祝酒词。像这样的东西:
View view = (View)findViewById(R.id.your_view);
view.setOnLongClickListener(new OnLongClickListener() {
@Override
public void onLongClick(View v) {
Toast toast = Toast.makeText(this, "Show hint here", Toast.LENGTH_SHORT);
}
});
或者
在 EditText 中显示 Hint,让用户知道他们需要输入什么。
<EditText
android:hint="Your tip here" />
于 2012-12-11T10:01:26.370 回答
4
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
//your code here
//showtooltip();
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});
}
于 2012-12-13T14:38:16.577 回答
2
这可以使用 EditText 上的 OnFocusChangeListener 来完成
这个想法是您将创建工具提示布局并在焦点更改时更改其可见性
您可以使用 FrameLayout 在正常布局的顶部创建提示布局,也可以通过在布局顶部添加工具提示布局来创建提示布局。在这两种情况下,可见性都会消失。
然后使用 OnFocusChangeListener 显示或隐藏工具提示
edittxt.setOnFocusChangeListener(new OnFocusChangeListener()
{
@Override
public void onFocusChange(View v, boolean hasFocus)
{
if (hasFocus == true)
{
// Show tool tip
}else{
// Hide tool tip
}
}
});
您还可以使用不同的侦听器来增强它,例如 OnKeyListener
只是为了改进我的答案
您还可以使用Android 的TextWatcher类,它有助于我们对文本更改做出反应。
请参考以下在您的示例中使用 TextWatcher
TextWatcher textWatcher = new TextWatcher()
{
@Override
public void onTextChanged(CharSequence s , int start,int before,int count){
}
@Override
public void afterTextChanged(Editable s){
}
@Override
public void beforeTextChanged(CharSequence s, int start,int count, int after){
}
};
Then use it as
edittext.addTextChangedListener(textWatcher);
于 2012-12-11T10:03:16.250 回答
0
你可以使用这个: TooltipCompat.setTooltipText(editText, editText.getText())
于 2019-02-13T11:36:38.043 回答