如果键盘处于打开状态,则隐藏activity_main.xml的一部分(Android)

我在底部显示了以下activity_main.xml.在那里,出现CoordinatorLayout和两个LinearLayout.第一个LinearLayout1有一个EditText来输入一些文本,并带有一个发送它的按钮.第二个有另外两个按钮.

如果我单击EditText,键盘会显示并使LinearLayout2中的所有内容几乎不可见.所以,我想在键盘打开时隐藏最后一个布局中的两个按钮.

我已经发现使用android:windowSoftInputMode =“stateHidden”可能是技巧,但只与AndroidManifest.xml中的活动有关.我只想用这个内部的第二个线性布局.已经尝试过在那里使用它,但没有成功.

另外,我在我的xml中处理这个问题并保持我的MainActivity代码干净.这有可能吗?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">
    ...
    <android.support.design.widget.CoordinatorLayout>
        <android.support.v7.widget.RecyclerView/>
    </android.support.design.widget.CoordinatorLayout>

    <LinearLayout>
        <EditText/>
        <Button android:id="@+id/button_send"/>
    </LinearLayout>

    <LinearLayout>
        <Button/>
        <Button/>
    </LinearLayout>

</LinearLayout>
我们过去有同样的问题,所以我们在完整的布局对象上放了一些observable
试试这个让我知道
/*Hide button when keyboard is open*/
view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
        Rect r = new Rect();
        view.getWindowVisibleDisplayFrame(r);

        int heightDiff = view.getRootView().getHeight() - (r.bottom - r.top);

        if (heightDiff > 244) { // if more than 100 pixels,its probably a keyboard...
            //ok now we know the keyboard is up...
            buttonLayout.setVisibility(View.GONE);


        } else {
            //ok now we know the keyboard is down...
            buttonLayout.setVisibility(View.VISIBLE);


        }
    }
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇