无法在低于3.0 android的设备上移动屏幕内容

时间:2013-01-23 15:13:20

标签: android layout

我需要移动左侧的屏幕内容,以便使用此代码 获取内容

try {
        content = ((LinearLayout) act.findViewById(android.R.id.content)
                .getParent());
    } catch (ClassCastException e) {
        /*
         * When there is no title bar
         * (android:theme="@android:style/Theme.NoTitleBar"), the
         * android.R.id.content FrameLayout is directly attached to the
         * DecorView, without the intermediate LinearLayout that holds the
         * titlebar plus content.
         */
        content = (FrameLayout) act.findViewById(android.R.id.content);
    }

我注意到在设备上使用android> 3.0设备中的try块中的内容集< 3.0它进入了catch区块。 我在这里移动内容:

FrameLayout.LayoutParams pr = (android.widget.FrameLayout.LayoutParams) content
                    .getLayoutParams();
            pr.rightMargin = menuSize;
            pr.leftMargin = -menuSize;
            content.setLayoutParams(pr);

所以在设备上> 3.0一切都很好,内容si移动,在设备上< 3.0没有任何事情发生内容只是坐着没有变化

1 个答案:

答案 0 :(得分:0)

找到答案如果未设置重力,FrameLayout将不会考虑边距。