设置软键盘显示状态

设置activity属性:android:windowSoftInputMode。

    值描述:

    "stateUnspecified":系统将选择一个合适的状态或依赖于主题的设置(默认)

    "stateUnchanged":当主窗口出现在前面时,软键盘将被保持它上次的状态。

    "stateHidden":当用户选择该Activity时,软键盘被隐藏(确定导航到该Activity时,而非由于离开另一个Activity)

    "stateAlwaysHidden":当该Activity主窗口获取焦点时,软键盘总是隐藏。

    "stateVisible":当用户选择该Activity时,软键盘是可见的(当用户导航到Activity时)。

    "stateAlwaysVisible":当该Activity主窗口获取焦点时,软键盘总是可见的。

    "adjustUnspecified":系统将选择一个合适的状态或依赖于主题的设置(默认)

    "adjustResize":该Activity主窗口总是被调整屏幕的大小以便留出软键盘的空间

    "adjustPan":该Activity总是被输入法覆盖而不调整大小。  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过监听布局变化来判断 Android 软键盘状态。当软键盘显示或隐藏时,布局会发生变化,因此可以通过监听布局变化来判断软键盘状态。 实现方法如下: 1. 在布局文件的根布局中添加 `android:fitsSystemWindows="true"` 属性,确保布局可以适应软键盘显示和隐藏。 2. 在 Activity 中设置布局监听器,监听布局变化。 3. 在布局变化的回调方法中,判断软键盘显示状态。 代码示例: ```java public class MainActivity extends AppCompatActivity { private View rootView; private int rootViewHeight; // 布局高度 @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 newHeight = rootView.getHeight(); // 获取新的布局高度 if (newHeight != rootViewHeight) { // 布局高度发生变化,可以判断软键盘是否显示 boolean isKeyboardShown = (newHeight < rootViewHeight); // 根据软键盘状态执行相应的操作 if (isKeyboardShown) { // 软键盘显示 Log.d("MainActivity", "软键盘显示"); } else { // 软键盘隐藏 Log.d("MainActivity", "软键盘隐藏"); } rootViewHeight = newHeight; } } }); } } ``` 在上面的示例中,我们通过监听布局变化,判断布局高度是否发生变化,如果发生变化则判断软键盘是否显示。如果软键盘显示,则执行相应的操作,比如将某个 View 滚动到可见区域。如果软键盘隐藏,则可以执行其他操作,比如恢复 View 的位置等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值