小编Fil*_*ira的帖子

Android Pie 编辑文本在键入时不会调整平移/调整大小

在 Android PIE 上,我有一个在线性布局中包含多个 Edittext 视图的 Activity,并使用 SOFT_INPUT_ADJUST_PAN。当我在 Edittext 上使用软键盘打字时,不会显示文本。

如果我在靠近屏幕顶部的 Edittext 上键入文本,在显示软键盘时不需要 PAN 来保持 Edittext 可见,则一切正常。

如果我在靠近屏幕底部的 Edittext 上键入文本,其中 PAN 用于在显示软键盘时使 Edittext 保持可见,而我在键入时,键入的文本不会显示在 Edittext 上,但是一旦我按 Next 或 Done 隐藏键盘,我输入的文本会出现。

我没有关于活动的特殊代码,即使我删除了代码中对 EditTexts 的任何引用,问题仍然存在。这只发生在 Android Pie 设备上。

试过用针对 SDK27 的 SDK27 编译和用针对 SDK28 的 SDK28 编译,结果是一样的。

更新:

我发现是什么让它不起作用。我在应用程序级别的清单中有 android:hardwareAccelerated="false" 。如果我将其设置为 true,则它可以工作。

有没有办法让它在没有硬件加速的情况下工作?

android android-layout android-softkeyboard adjustpan

7
推荐指数
0
解决办法
824
查看次数

Android 11 JNI 禁用 fdsan

我有一个应用程序使用带有本机库的库,现在在 Android 11 中由于 fdsan 而崩溃。

我已经联系了库提供商,但他们不会提供解决此问题的新版本库,因此我需要能够以某种方式禁用 fdsan。

我认为解决方案是当我使用 Android 11 或更高版本时调用:

if(android_get_device_api_level()>=30)
     android_fdsan_set_error_level(ANDROID_FDSAN_ERROR_LEVEL_WARN_ONCE);
Run Code Online (Sandbox Code Playgroud)

但由于错误,我无法编译:

使用未声明的标识符“android_fdsan_set_error_level”

因为这只是在 Android 10 (API 29) 中添加的

所以我的问题是如何在我的项目中调用这个函数?我正在为此创建一个特定的 cpp 文件和一个特定的库,所以我需要一些如何让这个库说明它仅适用于 Android 10 或更高版本。cpp 文件或 Android.mk 文件中是否有一些定义,我可以使用这些定义来编译这个特定的库,仅当我的应用程序启动时,我才会从 Android 11 或更高版本中的 Java 调用该库?

java-native-interface android android-api-levels

5
推荐指数
1
解决办法
1688
查看次数