解决android输入法弹出输入框被遮挡的问题

解决android输入法弹出输入框被遮挡的问题

2023年7月15日发(作者:)

解决android输⼊法弹出输⼊框被遮挡的问题解决 android 输⼊法弹出输⼊框被遮挡的问题由于本⼈懒,也从不写博客,之所以写是因为这次开发 ’⼜遇到‘ 输⼊法这个问题了,好久以前有遇到过,突然发现还是很有必要把他分享出来,⾔归正传,下⾯就把解决的⼏种⽅法贴上。1,⾸先看效果图:2,实现效果图 (输⼊框没被遮住):解决⽅法⼀:在 ⽂件中的activity⾥加⼊ android:windowSoftInputMode=“stateVisible|adjustResize”解决⽅法⼆:在 Activity 的 onCreate ⾥加⼊getWindow().setSoftInputMode(_INPUT_ADJUST_RESIZE);public class TestActivity extends FragmentActivity {

@Overrideprotected void onCreate(Bundle savedInstanceState) {te(savedInstanceState);setContentView(ty_test);getWindow().setSoftInputMode(_INPUT_ADJUST_RESIZE);}解决⽅法三:把你的 Layout 外⾯再加⼀层 ScrollView , 这样软键盘和输⼊框就可以⼀起滚动解决⽅法四:1,Activity 代码public class TestActivity extends FragmentActivity {// 最外层需要调整的Layoutprivate RelativeLayout rootView;// 滚动的Layoutprivate LinearLayout scrollToInput;@Overrideprotected void onCreate(Bundle savedInstanceState) { te(savedInstanceState); setContentView(ty_test);

rootView = (RelativeLayout) findViewById(ew); scrollToInput = (LinearLayout) findViewById(ToInput);

wTreeObserver().addOnGlobalLayoutListener( new OnGlobalLayoutListener() {

@Override

public void onGlobalLayout() {

Rect rect = new Rect();

//取得 rootView 可视区域

dowVisibleDisplayFrame(rect);

//取得 rootView 不可视区域⾼度 (被其他View遮挡的区域⾼度)

int rootInvisibleHeight = tView().getHeight() - ;

//要是不可视区域⾼度⼤于100,则输⼊键盘就显⽰

if (rootInvisibleHeight > 100) {

int[] location = new int[2];

//取得 scrollToInput 的坐标

ationInWindow(location);

//计算滚动⾼度(rootView),这样 (scrollToInput)在可视区域

int srollHeight = (location[1] + ght()) - ;

To(0, srollHeight);

} else {

//隐藏软键盘

To(0, 0);

}

} });

}}2,activity_

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1689430548a247020.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信