我知道有一千个关于此的问题,但我已经浏览过这些问题,他们的解决方案都没有为我工作。
我的活动有一个带有这种布局的标签式界面:
<RelativeLayout>
<LinearLayout tabBar>
<Button tab1 />
<Button tab2 />
<Button tab3 />
<Button tab4 />
</LinearLayout>
<ViewFlipper>
<fragment Tab1 />
<fragment Tab2 />
<fragment Tab3 />
<fragment Tab4 />
</ViewFlipper>
</RelativeLayout>
当在LinearLayout中点击tab2按钮时,我将ViewFlipper更改为显示由Tab2Fragment控制的子2。
Tab2Fragment的布局如下所示:
<FrameLayout>
<ListView/>
</FrameLayout>
当选择ListView中的项目时,我创建一个新片段,让我们称之为Sub2Fragment,然后将其作为子项添加到FrameLayout。
Sub2Fragment有这样的布局:
<LinearLayout android:layout_height="fill_parent" android:layout_width="fill_parent">
<LinearLayout> <TextView /> <EditText /> </LinearLayout>
<LinearLayout> <TextView /> <EditText /> </LinearLayout>
<LinearLayout> <TextView /> <EditText /> </LinearLayout>
<LinearLayout> <TextView /> <EditText /> </LinearLayout>
<Button />
</LinearLayout>
当显示软键盘时,它覆盖了我的一些EditTexts和我的按钮。我也尝试用ScrollView包装LinearLayout:
<ScrollView android:layout_height="fill_parent" android:layout_width="fill_parent">
<LinearLayout android:layout_height="wrap_content" android:layout_width="fill_parent">
<LinearLayout> <TextView /> <EditText /> </LinearLayout>
<LinearLayout> <TextView /> <EditText /> </LinearLayout>
<LinearLayout> <TextView /> <EditText /> </LinearLayout>
<LinearLayout> <TextView /> <EditText /> </LinearLayout>
<Button />
</LinearLayout>
</ScrollView>
我也在我的Activity上尝试使用android:windowSoftInputMode="adjustResize"
我的清单,但是我尝试的任何东西都不会让视图自动调整大小,以便当软键盘可见时ScrollView会让我滚动浏览整个内容
我还尝试将整个活动包装在ScrollView中,但是这会弄乱我的整个布局,因为它基于填充整个屏幕大小,而ScrollView会断开子布局与屏幕的实际大小... / p>
任何帮助?
答案 0 :(得分:4)
我发现了问题...我想摆脱顶级状态栏,所以我将其添加到我的活动中:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
踩踏软键盘调整视图大小。评论出来并且一切都按预期工作。