先看下面简单的模型图片效果,有图才有真相:
软键盘弹出效果:
终极效果实现:
效果呢就是这样:
简单解释一下:因为显示页面要承载非常多的信息内容,所以在让用户公布动态的时候,要求从页面的底部以动画的方式向上抽出。当弹出软键盘输入法的时候,要避免输入框被所有遮挡或者部分遮挡。
则,软键盘要把输入文本框顶起来。全然的托起来。
那么,就要完毕这几步骤:
1,在该页面的类中(Actiivty或者fragment),在载入该布局之前加入这句话,其作用是使文本框依据软键盘弹出自己主动调节位置和大小:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
2,完毕布局的布置。布局最好使用帧布局把该输入文本框放置最外层的最以下,并设置GONE。
3,在点击公布动态的button监听中要实现以动画的效果弹出并被软键盘托起:
Animation animation = AnimationUtils.loadAnimation(getActivity(), R.anim.pop_bottom_in);
edtInput.setVisibility(View.VISIBLE);
//获取文本输入的焦点
edtInput.startAnimation(animation);
edtInput.setFocusable(true);
edtInput.setFocusableInTouchMode(true);
edtInput.requestFocus();
//弹出软键盘
InputMethodManager inputMethodManager=(InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);edtInput.addTextChangedListener(this);
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
int num=140-s.length();
tvLengthNum.setText(num + "");
}
喜欢上网的朋友对NetAnt(网络蚂蚁)这个软件一定不会陌生,它的下载速度,断点续传的功能都给我们留下了深刻的印...
2条评论