SlidingDrawer без дескриптора и скользящих действий к содержимому

Я хочу использовать SlidingDrawerв своем приложении. Но я должен скрыть handleи показать 20% содержимого, чтобы они были видны, когда SlidingDrawerзакрыто. Также я хочу назначить все скольжение (касание или перетаскивание)действия с handleпо content. Пожалуйста, помогите мне, если у кого-то есть какое-то решение для этого.

Пожалуйста, обратитесь к следующему фрагменту кода, который я пробовал.

<View
    android:id="@id/handle"
    android:layout_width="0dip"
    android:layout_height="fill_parent" />

<LinearLayout
    android:id="@id/content"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/sliding_drawer" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/sliding_drawer" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/sliding_drawer" />
</LinearLayout>

и вот моя активность:

     import android.app.Activity;
     import android.graphics.Color;
     import android.os.Bundle;
     import android.view.View;
     import android.widget.SlidingDrawer;
     import android.widget.SlidingDrawer.OnDrawerCloseListener;
     import android.widget.SlidingDrawer.OnDrawerOpenListener;

     public class SlidingDrawerActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        final SlidingDrawer drawer = (SlidingDrawer) findViewById(R.id.drawer);
        drawer.setOnDrawerCloseListener(new OnDrawerCloseListener() {

            public void onDrawerClosed() {
                // TODO Auto-generated method stub
                drawer.setBackgroundColor(Color.BLACK);
            }
        });

        drawer.setOnDrawerOpenListener(new OnDrawerOpenListener() {

            public void onDrawerOpened() {
                // TODO Auto-generated method stub
                drawer.setBackgroundColor(Color.BLUE);
            }
        });

        View content = drawer.getContent();
        content.setClickable(true);
        content.setTouchDelegate(drawer.getHandle().getTouchDelegate());
    }
}

Здесь я могу скрыть handle, установив width=0dip, но не знаю, как показать 20% контента, когда SlidingDrawerзакрыт, и установить действия на ContentSlidingDrawer.

Я попытался получить touchDelegateдескриптора и установить его на Content, но это не сработало. Пожалуйста, помогите мне решить эту проблему.

7
задан Sankar V 22 July 2013 в 08:38
поделиться