0

PlayStore 中的 SlidingMenu 演示应用在我的 N7 上运行没有任何问题。但是当我从我的计算机上编译它时,我在 ResposiveUI Activity 中遇到了以下问题:当我在 Portrait 上打开 SlidingMenu 并将方向更改为 Lanscape 模式时......半屏是空白的!

纵向模式下的 ResposiveUI 横向模式下的 ResponsiveUi

除了按照作者的建议扩展 SherlockFragmentActivity 之外,我没有更改任何代码。

4

2 回答 2

0

问题是当屏幕旋转时,SlidingMenu 仍然打开。在保存即时状态之前关闭它可以解决问题。

    @Override
    public void onSaveInstanceState(Bundle outState) {
        showContent();
        super.onSaveInstanceState(outState);
        getSupportFragmentManager().putFragment(outState, "mContent", mContent);
    }
于 2013-07-20T06:18:12.107 回答
0

半黑屏由SlidingMenu 演示源代码70 行。

https://github.com/jfeinstein10/SlidingMenu/blob/master/example/src/com/jeremyfeinstein/slidingmenu/example/fragments/ResponsiveUIActivity.java

您可以将其修改为

        if (findViewById(R.id.menu_frame) == null) {
            sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
        else
            sm.setBehindOffset(getScreenWidth());

获取屏幕宽度()

  public int getScreenWidth() {
            Display display = getWindowManager().getDefaultDisplay();
            DisplayMetrics metrics = new DisplayMetrics();
            display.getMetrics(metrics);
            return metrics.widthPixels;
    }
于 2013-07-19T17:35:23.020 回答