Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <FrameLayout
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:fitsSystemWindows="false"
- android:background="@drawable/back_blue_translucent"
- xmlns:android="http://schemas.android.com/apk/res/android">
- <android.support.v4.widget.DrawerLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:id="@+id/drawer_layout"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:fitsSystemWindows="false"
- tools:context="com.bentleycarr.mentalmaths.MainActivity">
- <FrameLayout
- android:id="@+id/container"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="#f9f9f9"/>
- <fragment android:id="@+id/navigation_drawer"
- android:layout_width="@dimen/navigation_drawer_width"
- android:layout_height="match_parent"
- android:layout_gravity="start"
- android:layout_marginTop="72dp" <!--I want to change this -->
- android:name="com.bentleycarr.mentalmaths.NavigationDrawerFragment" />
- </android.support.v4.widget.DrawerLayout>
- </FrameLayout>
- Process: com.bentleycarr.mentalmaths, PID: 23729
- java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bentleycarr.mentalmaths/com.bentleycarr.mentalmaths.MainActivity}: java.lang.ClassCastException: android.support.v4.widget.DrawerLayout$LayoutParams cannot be cast to android.widget.FrameLayout$LayoutParams
- at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
- at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
- at android.app.ActivityThread.access$800(ActivityThread.java:135)
- at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
- at android.os.Handler.dispatchMessage(Handler.java:102)
- at android.os.Looper.loop(Looper.java:136)
- at android.app.ActivityThread.main(ActivityThread.java:5017)
- at java.lang.reflect.Method.invokeNative(Native Method)
- at java.lang.reflect.Method.invoke(Method.java:515)
- at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
- at dalvik.system.NativeStart.main(Native Method)
- Caused by: java.lang.ClassCastException: android.support.v4.widget.DrawerLayout$LayoutParams cannot be cast to android.widget.FrameLayout$LayoutParams
- at com.bentleycarr.mentalmaths.MainActivity.onCreate(MainActivity.java:55)
- at android.app.Activity.performCreate(Activity.java:5231)
- at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
- at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
- at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
- at android.app.ActivityThread.access$800(ActivityThread.java:135)
- at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
- at android.os.Handler.dispatchMessage(Handler.java:102)
- at android.os.Looper.loop(Looper.java:136)
- at android.app.ActivityThread.main(ActivityThread.java:5017)
- at java.lang.reflect.Method.invokeNative(Native Method)
- at java.lang.reflect.Method.invoke(Method.java:515)
- at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
- FrameLayout root = (FrameLayout) findViewById(R.id.yourID);
- FrameLayout.LayoutParams params = (FrameLayout.LayoutParams)root.getLayoutParams();
- params.setMargins(left, top, right, bottom);
- root.setLayoutParams(params);
- public class CustomMarginDrawerLayout extends DrawerLayout {
- private static final int DRAWER_MARGIN_IN_DP = 48;
- private final Context context;
- public CustomMarginDrawerLayout(Context context) {
- super(context);
- this.context = context;
- }
- public CustomMarginDrawerLayout(Context context, AttributeSet attrs) {
- super(context, attrs);
- this.context = context;
- }
- public CustomMarginDrawerLayout(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
- this.context = context;
- }
- @Override
- public ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs) {
- ViewGroup.LayoutParams params = super.generateLayoutParams(attrs);
- int margin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, DRAWER_MARGIN_IN_DP, getResources().getDisplayMetrics());
- params.width = getScreenWidth(context) - margin;
- return params;
- }
- private int getScreenWidth(Context context) {
- WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
- DisplayMetrics metrics = new DisplayMetrics();
- windowManager.getDefaultDisplay().getMetrics(metrics);
- return metrics.widthPixels;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement