选择它时更改EditText的宽度

时间:2018-02-06 13:04:32

标签: java android

我想制作一个包含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);
        }
    });

此解决方案的问题在于,取消选择后,文本字段将无法恢复到初始大小。

2 个答案:

答案 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.
            }
        }
     });