Java Android:同时使用adjustPan和adjustResize';我不能工作,但我两者都需要
我还没有正式决定是否走这条路,但我在XML文档中有一个建议。XML文档包含包含ScrollView和Adview的相对布局。Adview位于相对布局的底部,而scrollview位于其他位置 当用户关注我的应用程序中的编辑文本时,部分页面会被切断。我修正了这一点,添加了: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
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中存在的任何内容