Android软键盘高度获取,界面软键盘监听,设置软键盘顶起布局

Android 软键盘高度获取

概述 

在Android开发中,有时候我们需要获取软键盘的高度,以便进行相应的布局调整。本文将介绍如何在Android中获取软键盘的高度。  

Activity 代码

public class MainActivity extends AppCompatActivity { 

private View  rootView;

private LinearLayout rlView;

     @Override

         protected void onCreate(Bundle savedInstanceState) {

               super.onCreate(savedInstanceState);

               setContentView(R.layout.activity_main);

               rootView = findViewById(android.R.id.content);

              // 注册键盘监听事件

            rootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

                 @Override

                 public void onGlobalLayout() {

                   //获取软键盘的高度信息

                   int keyboardHeight = getKeyboardHeight();

                   rlView.setPadding(0,0,0,keyboardHeight);

                  } 

                 });

   }

//获取软键盘高度方法

private int getKeyboardHeight() {

    View rootView = getWindow().getDecorView().getRootView();

     Rect rect =new Rect();

     rootView.getWindowVisibleDisplayFrame(rect);

      int screenHeight = rootView.getHeight();

      int keyboardHeight = screenHeight - rect.bottom;

     return keyboardHeight;

   }

}

xml代码需要已androidx.core.widget.NestedScrollView或者ScrollView包裹。







©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容