Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:同时使用adjustPan和adjustResize';我不能工作,但我两者都需要_Java_Android_Admob_Adview - Fatal编程技术网

Java Android:同时使用adjustPan和adjustResize';我不能工作,但我两者都需要

Java Android:同时使用adjustPan和adjustResize';我不能工作,但我两者都需要,java,android,admob,adview,Java,Android,Admob,Adview,我还没有正式决定是否走这条路,但我在XML文档中有一个建议。XML文档包含包含ScrollView和Adview的相对布局。Adview位于相对布局的底部,而scrollview位于其他位置 当用户关注我的应用程序中的编辑文本时,部分页面会被切断。我修正了这一点,添加了: android:windowSoftInputMode="adjustPan" 但问题是,每当用户打开键盘时,我的AdView就会被切断。为了解决这个问题,我将Android清单更改为: android:windowSoft

我还没有正式决定是否走这条路,但我在XML文档中有一个建议。XML文档包含包含ScrollView和Adview的相对布局。Adview位于相对布局的底部,而scrollview位于其他位置

当用户关注我的应用程序中的编辑文本时,部分页面会被切断。我修正了这一点,添加了:

android:windowSoftInputMode="adjustPan"
但问题是,每当用户打开键盘时,我的AdView就会被切断。为了解决这个问题,我将Android清单更改为:

android:windowSoftInputMode="adjustResize"
它将AdView保留在键盘顶部,但现在AdView覆盖了应用程序上的一些内容。我想知道是否有一种方法可以让我的应用程序内容不被覆盖,并在出现提示时将其保持在键盘上方

我尝试过这个方法,但不起作用:

android:windowSoftInputMode="adjustPan|adjustResize"

我不确定我是否真的想走那条路,我只是想要选择。在我看来,这看起来有点烦人。

你不能同时设置
adjustPan
adjustResize
。它们意味着完全不同和相互冲突的行为。它们仅影响键盘出现或消失时根视图的行为

adjustPan
的意思是“当键盘出现时,如果键盘后面的视图获得焦点,则向上移动视图,以便用户可以看到它”,但它不允许用户在自己周围移动视图

adjustResize
表示“当键盘出现时,更改视图的高度以适合键盘上方”。这并不意味着你的观点会正确地适应这个空间——这是你的工作

听起来你想做的是在广告上方有一个滚动视图,它粘贴在根相对论视图的底部。在您的情况下,您肯定希望使用
adjustResize
将RelativeLayout调整为较短的高度。这反过来会将广告向上移动到键盘顶部,如您所述。然后,您必须确保主滚动视图始终位于广告上方,而不是隐藏在广告后面。您可能需要这样的布局:

<RelativeLayout
    android:layoutWidth="match_parent"
    android:layoutHeight="match_parent">

        <ScrollView
            android:layoutWidth="match_parent"
            android:layoutHeight="match_parent"
            android:layoutAbove="@+id/advert_view">

            <!-- Your scrolling views go here -->

        </ScrollView>

        <AdvertView
            android:id="@id/advert_view"
            android:layoutWidth="match_parent"
            android:layoutHeight="wrap_content"
            android:alignParentBottom="true" />

</RelativeLayout>

请注意,ScrollView表示它希望成为父视图的高度,但其布局在视图上方。这意味着它不在底部边缘的AdvertView后面,您可以滚动到ScrollView中存在的任何内容