Reputation: 1107
I am mixing stuff really bad now. Just confuzed about all the options. I have a drawer and a toolbar. the drawer opens Under the toolbar. I would like to open the drawer over the toolbar to gain more space. It's spagheti now, I don't understand it.
This is the theme i use:
Imports:
import android.support.v4.app.ActivityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.widget.Toolbar;
In class:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mActionBar = getSupportActionBar();
mActionBar.setDisplayHomeAsUpEnabled(true);
mActionBar.setDisplayShowHomeEnabled(true);
mActionBar.setHomeButtonEnabled(true);
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.drawer_open, R.string.drawer_close) {
@Override
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
invalidateOptionsMenu();
}
@Override
public void onDrawerClosed(View drawerView) {
super.onDrawerClosed(drawerView);
invalidateOptionsMenu();
}
};
if (mDrawerToggle != null && mDrawerLayout != null) {
mDrawerLayout.setDrawerListener(mDrawerToggle);
}
In layout:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:orientation="vertical"
tools:context=".MainActivity" >
<include
android:id="@+id/toolbar"
layout="@layout/toolbar" >
<Spinner
android:id="@+id/spinner_menu"
style="@style/spinner_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:prompt="@string/search" />
</include>
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- Framelayout to display Fragments -->
<FrameLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- Listview to display slider menu -->
<LinearLayout
android:id="@+id/left_drawer_layout"
android:layout_width="@dimen/navigation_drawer_max_width"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:orientation="vertical" >
<FrameLayout
android:layout_width="match_parent"
android:layout_height="48dp" >
<EditText
android:id="@+id/searchMenuTxt"
style="@style/Base.AlertDialog.AppCompat"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@color/list_background"
android:gravity="center|left"
android:hint="@string/search"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:focusable="false"
android:focusableInTouchMode="true"
android:textColor="@android:color/white"
android:textColorHint="@android:color/darker_gray" >
</EditText>
<ListView
android:id="@+id/activeChatsList"
android:layout_width="@dimen/navigation_drawer_max_width"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:background="@drawable/list_selector"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_selector"
android:minHeight="50dp" />
<Button
android:id="@+id/clearBtn"
android:layout_width="24dp"
android:layout_height="24dp"
android:paddingRight="8dp"
android:layout_gravity="right|center"
android:background="@drawable/clear" />
</FrameLayout>
<ListView
android:id="@+id/list_slidermenu"
android:layout_width="@dimen/navigation_drawer_max_width"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:background="@drawable/list_selector"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_selector"
android:minHeight="250dp" />
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
</LinearLayout>
The theme i am using for the activity is:
<style name="MyTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="windowActionModeOverlay">true</item>
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
<item name="colorPrimary">@color/blue</item>
<item name="android:textColor">@android:color/white</item>
<item name="colorPrimaryDark">@color/blue</item>
<!-- <item name="android:editTextStyle">@style/my_custom_edit_text_style</item> -->
<item name="android:dialogTheme">@style/MyDialogTheme</item>
<item name="android:alertDialogTheme">@style/MyDialogTheme</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
I don't know how to un mix this. It shouldn't be this difficult to do this, i guess? I need an extra eye... Thank you.
Upvotes: 0
Views: 98
Reputation: 31448
You just need to modify your layout.xml
file a bit:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:orientation="vertical">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar">
<Spinner
android:id="@+id/spinner_menu"
style="@style/spinner_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:prompt="@string/search" />
</include>
<!-- Framelayout to display Fragments -->
<FrameLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
<!-- Listview to display slider menu -->
<LinearLayout
android:id="@+id/left_drawer_layout"
android:layout_width="@dimen/navigation_drawer_max_width"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="48dp">
<EditText
android:id="@+id/searchMenuTxt"
style="@style/Base.AlertDialog.AppCompat"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@color/list_background"
android:focusable="false"
android:focusableInTouchMode="true"
android:gravity="center|left"
android:hint="@string/search"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:textColor="@android:color/white"
android:textColorHint="@android:color/darker_gray"></EditText>
<ListView
android:id="@+id/activeChatsList"
android:layout_width="@dimen/navigation_drawer_max_width"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:background="@drawable/list_selector"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_selector"
android:minHeight="50dp" />
<Button
android:id="@+id/clearBtn"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="right|center"
android:background="@drawable/clear"
android:paddingRight="8dp" />
</FrameLayout>
<ListView
android:id="@+id/list_slidermenu"
android:layout_width="@dimen/navigation_drawer_max_width"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:background="@drawable/list_selector"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_selector"
android:minHeight="250dp" />
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
Upvotes: 2