我想在我的应用程序中使用SlidingDrawer。但是我必须隐藏handle,并且必须显示SlidingDrawer关闭时可见的20%内容。
我也想将handle的所有滑动(触摸或拖动) Action 分配给content。如果有人对此有任何解决方案,请帮助我。

请引用我尝试过的以下代码 fragment 。

<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>

这是我的 Activity :
     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,但是当SlidingDrawer关闭时,我不知道如何显示20%的内容,并且无法将操作设置为ContentSlidingDrawer

我尝试获取该句柄的touchDelegate并将其设置为Content,但是它不起作用。
请帮我解决这个问题。

最佳答案

要拥有不带手柄的slidingDrawer,技巧就是将手柄的宽度和高度设置为0dp。干杯

关于android - 没有内容的 handle 和滑动 Action 的SlidingDrawer,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11629018/

10-09 00:06