我有一个EditText,当用户点击它时(当它获得焦点时)我调整屏幕上的位置。但是,该方法无法正常工作。我的代码:
etHashtag.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus){
Log.d("EditText", "has focus");
originalHashtagPos = etHashtag.getY();
etHashtag.setY(targetH / 2);
}else {
Log.d("EditText", "no focus");
etHashtag.setY(originalHashtagPos);
}
}
});
日志显示当用户单击EditText时获得焦点,并且当用户在视图外部单击时它会失去焦点。但是,Y位置不会每次都移动。它只能在大约50%的时间内起作用。认为这很简单?