在全屏中使用WebView和RelativeLayout时出现奇怪的行为

Mar*_*tój 7 layout android fullscreen webview

编辑:这是显示问题的视频:www.youtube.com/watch?v = 5ZZsuMH5T9k我真的被困在这里:/

-

我有一个活动,包括webview和底部的按钮.我使用以下代码将活动窗口设置为全屏onCreate:

@Override
public void onCreate(Bundle savedInstanceState) {
  InstaFetchApplication.applyCurrentTheme(this);

  super.onCreate(savedInstanceState);

  getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
  requestWindowFeature(Window.FEATURE_PROGRESS);

  if (UserPreferences.getIsFullScreenReadingEnabled(this)) {
    requestWindowFeature(Window.FEATURE_NO_TITLE);

    // this just do this: window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    ActivityUtils.toggleFullScreen(this, true);
  }

  setContentView(R.layout.view_article);

  // ...
}
Run Code Online (Sandbox Code Playgroud)

问题是,大多数情况下,webview似乎将按钮"推"出屏幕.这是截图:

错误

(较大的版本)

我希望看到的(有时我做的)在这里:

正确

(较大的版本)

这是我正在使用的布局(请注意,在我的应用中,顶部布局必须是RelativeLayout):

<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/layout_test"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
>
  <Button
    android:id="@+id/button"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:text="Click me!"
  />
  <WebView
    android:id="@+id/web_view"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@id/button"
  />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我还注意到,如果你使用系统设置关闭设备上的所有动画,问题就会消失(尽管当整个视图有一个上边距然后它跳回到正确位置时会出现这个故障).

有没有人遇到类似的问题,知道如何解决它?

Mar*_*tój 2

最后我找到了答案。WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS在窗口中添加标志解决了我的问题。

请参阅这篇文章:flag_fullscreen + windowNoTitle == 按钮焦点错误