I have implemented a drawer in android that when open show 4 buttons, but when I try to click it, this never actually happens (the drawer does not open). However, the image resource of the component ImageView handler is changed when i click on drawer.
I have the following XML code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dynamicCategories"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/background"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:layout_weight="0.1"
android:orientation="horizontal" >
.
.
.
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="42dp"
android:layout_weight="0.1"
android:gravity="bottom"
android:orientation="vertical" >
<SlidingDrawer
android:id="@+id/slidingDrawer1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bar"
android:content="@+id/contentLayout"
android:handle="@+id/handle" >
<ImageView
android:id="@+id/handle"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" />
<LinearLayout
android:id="@+id/contentLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/white" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button" />
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button" />
</LinearLayout>
</SlidingDrawer>
</LinearLayout>
And the java code:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(com.android.layout.R.layout.channelprogrammation);
drawer = (SlidingDrawer) findViewById(com.android.layout.R.id.slidingDrawer1);
// Drawer Programmation
drawer.setOnDrawerOpenListener(new OnDrawerOpenListener() {
public void onDrawerOpened() {
ImageView view = (ImageView) drawer.getHandle();
// change to bar selected
view.setImageResource(com.android.layout.R.drawable.ic_launcher);
Toast.makeText(getApplicationContext(), "Is open!", 3000)
.show();
drawer.open();
}
});
drawer.setOnDrawerCloseListener(new OnDrawerCloseListener() {
public void onDrawerClosed() {
Toast.makeText(getApplicationContext(), "Closed", 3000).show();
ImageView view = (ImageView) drawer.getHandle();
view.setImageResource(0);
drawer.close();
}
});
I found the problem... I had my linear layout that has the sliding drawer with 42dp. Therefore when trying to use the sliding drawer the linear layout opened but did not have enough space to expand.