gpt4 book ai didi

android:windowSoftInputMode ="adjustResize"没有任何区别?

转载 作者:IT老高 更新时间:2023-10-28 21:56:55 32 4
gpt4 key购买 nike

我有一个使用这种布局的人造对话框:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:id="@+id/containerPageConatiner">

<FrameLayout android:id="@+id/dialogHolder"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:padding="15dp"
android:layout_gravity="center"
android:background="@drawable/panel_picture_frame_bg_focus_blue"/>
</FrameLayout>

我在 <FrameLayout> 中放置了一个 fragment 取决于正在打开的对话框 - 控制对话框的 Activity 如下所示:

<activity
android:label="@string/app_name"
android:name=".activity.DialogActivity"
android:theme="@style/CustomTheme.Screen.Transparent"
android:windowSoftInputMode="adjustResize">

不幸的是,当您单击对话框内的编辑文本时,不会调整大小。 windowSoftInputMode字面上没有区别,因为功能与平移模式相同。

Documentation说“这当然只适用于具有可调整大小的区域的应用程序,可以缩小以腾出足够的空间”,但没有告诉你“可调整大小的区域”是什么意思,让我觉得在某种程度上我 没有可调整大小的区域?

如果有人知道怎么回事,可以帮帮我吗?

编辑

像这样围绕对话框不会改变任何东西:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/containerPageConatiner"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1" />

<FrameLayout
android:id="@+id/dialogHolder"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:padding="15dp"
android:layout_gravity="center"
android:background="@drawable/panel_picture_frame_bg_focus_blue"/>

<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>

EDIT2

Scrollview 作为父级也无济于事:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/containerPageConatiner"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<FrameLayout
android:id="@+id/dialogHolder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="15dp" />

</ScrollView>

最佳答案

我创建了一个新项目,以尝试获得用于调整窗口大小的基本功能,并慢慢将其移向我项目的目标部分。这样做我将问题归结为:

在我的主题层次结构中,我有这个属性:

<item name="android:windowFullscreen">true</item> 

埋藏在 Theme.Black.NoTitleBar.FullScreen 级别 - 我的自定义主题的祖先。

documentation暗示这是一个“指示此窗口是否应填满整个屏幕的标志”。如果您有一个占据整个屏幕的应用程序,这听起来是一件好事......但它仍然占据整个屏幕而没有标志。

事实上,一旦你把它拿出来,应用中绝对没有任何变化......除了 adjustResize 现在可以完美运行。

关于android:windowSoftInputMode ="adjustResize"没有任何区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8398102/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com