我希望创建一个编辑文本与3-4行提示,在点击,允许用户只输入一行文本。我试过用
android:singleLine = "true"但这也限制了暗示的长度。
如何为这两种情况分配不同的行数?
谢谢
发布于 2015-08-05 12:42:25
您可以在编辑文本中添加一个TextWatcher并比较文本的长度。如果为0,则显示提示,并以编程方式设置editText.setSingleLine(false)。如果大于0,则使用editText (True)限制setSingleLine(true)。
伪码:
public void some(){
final EditText t = findViewById(someName);
t.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
t.setSingleLine(t.getText().toString().length() > 0);
}
});
}发布于 2015-08-05 12:55:14
按以下方式编程设置textview属性:
myText.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if(hasFocus){
myText.setSingleLine(true);
//myText.setMaxLines(1);
// myText.setLines(1);
}
else if(myText.matches(""))
{
myText.setSingleLine(false);
}
}
});发布于 2015-08-05 12:39:16
试试这个:
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:hint="your hint here your hint here your hint here your hint here your hint here your hint here your hint here your hint here your hint here your hint here "
android:ems="10" >
<requestFocus />
</EditText>https://stackoverflow.com/questions/31832665
复制相似问题