我想制作一个包含3个文本字段的搜索页面。那么,当我选择它们时,这些文本字段必须扩展,并在完成写入后返回到初始大小。因此,当我选择其中一个EditText
时,我必须更改宽度,然后取消选择它以返回初始大小。
有人可以帮我吗?
以下是我的尝试:
final EditText searchByName = (EditText) getActivity().findViewById(R.id.search_by_name);
searchByName.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
searchByName.setWidth(250);
}
});
此解决方案的问题在于,取消选择后,文本字段将无法恢复到初始大小。
答案 0 :(得分:1)
尝试使用没有onClick侦听器的onFocusChangeListener ..这允许您处理选择和取消选择的事件
答案 1 :(得分:0)
您可以使用onFocusChange
事件来验证用户是否在EditText中:
final EditText searchByName = (EditText) getActivity().findViewById(R.id.search_by_name);
searchByName.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
/* When focus is lost check that the text field
* has valid values.
*/
if (hasFocus) {
searchByName.setWidth(250);
} else {
searchByName.setWidth(normalSize); //Set back to normal.
}
}
});