Android 设置自定义视图的调整大小行为(如在软键盘中)

Android 设置自定义视图的调整大小行为(如在软键盘中),android,view,android-softkeyboard,custom-keyboard,Android,View,Android Softkeyboard,Custom Keyboard,我有一个自定义视图,希望对其应用调整大小逻辑,就像我们可以使用软键盘一样 android:windowSoftInputMode="adjustResize" 我的自定义视图扩展了线性布局。当显示此自定义视图时,是否允许调整窗口的大小,以使其内容不被视图覆盖? 任何帮助都将不胜感激。我还没有尝试过,但有一种可能性: 假设您向自定义视图添加了一个自定义属性。让我们称之为“可视” layout/view.xml: ... app:imeVisible="false" ..

我有一个自定义视图,希望对其应用调整大小逻辑,就像我们可以使用软键盘一样

 android:windowSoftInputMode="adjustResize"
我的自定义视图扩展了线性布局。当显示此自定义视图时,是否允许调整窗口的大小,以使其内容不被视图覆盖?
任何帮助都将不胜感激。

我还没有尝试过,但有一种可能性:

假设您向自定义视图添加了一个自定义属性。让我们称之为“可视”

layout/view.xml:

    ...
    app:imeVisible="false"
    ...
   ...
   app:imeVisible="true"
   ...
布局键/view.xml:

    ...
    app:imeVisible="false"
    ...
   ...
   app:imeVisible="true"
   ...
我假设当您在
布局键中暴露了某些内容时,系统将生成IME show/hide的配置更改,因为通常不会

但它会进行布局更改(
adjustResize
),因此另一种更通用的方法是在自定义视图中覆盖
onLayout()

    @Override
    protected void onLayout(boolean changed, int l, int t, int r, int b) {

        super.onLayout(changed, l, t, r, b);

        int height = b - t;
        // logic here for different heights
    }

@LalitJadav它只是视图的自定义属性的一个示例。仔细看,我想我可能误解了这个问题。看起来OP要么想要A)一个自定义输入法编辑器,这是一个完全独立的主题,要么B)一种在显示隐藏视图时更新布局的方法。我猜描述
onLayout
覆盖为OP提供了所需的功能。您可以帮助使用imeVisible属性吗。我已经定义了它,但不知道如何使用它