我想SlidingDrawer
在我的应用程序中使用。但是我必须隐藏handle
并且必须显示20%的内容才能在SlidingDrawer
关闭时可见。我还想将 to 的所有滑动(触摸或拖动)动作分配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
并将操作设置Content
为SlidingDrawer
.
我尝试获取touchDelegate
手柄并将其设置为Content
,但它不起作用。请帮我解决这个问题。