我希望在应用启动时打开一个滑块。它将打开按钮等,当用户关闭它时,将有更多按钮可供访问。滑动抽屉可以实现吗?我将在onCreate()方法中添加什么内容?
由于
答案 0 :(得分:4)
XML布局 - 在基本的LinearLayout中:
<SlidingDrawer
android:id="@+id/slide"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:content="@+id/content"
android:handle="@+id/handle"
android:orientation="vertical"
android:scrollbars="vertical" >
<LinearLayout
android:id="@id/handle"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/btn"
android:gravity="center"
android:orientation="horizontal" >
<ImageView
android:id="@+id/handleImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_tray_expand" />
<Button
android:id="@+id/handleButton"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/btn"
android:text="Up me" />
</LinearLayout>
<LinearLayout
android:id="@+id/content"
android:paddingTop="2dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#013E53"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/tv_commentDisplay"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:paddingLeft="10dp"
android:textSize="20dp" />
</LinearLayout>
</SlidingDrawer>
您的活动将如下所示:
public class Home extends Activity implements OnDrawerScrollListener
{
private ImageView handleImage;
private Button handleButton;
private SlidingDrawer slide;
private TextView tv_commentDisplay;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
tv_commentDisplay = (TextView)this.findViewById(R.id.tv_commentDisplay);
handleImage = (ImageView)this.findViewById(R.id.handleImage);
handleButton = (Button)this.findViewById(R.id.handleButton);
slide = (SlidingDrawer)this.findViewById(R.id.slide);
slide.open(); // not sure
slide.setOnDrawerScrollListener(this);
handleButton = ((Button)this.findViewById(R.id.handleButton));
tv_commentDisplay.setText("Hello World");
}
@Override
public void onScrollEnded() {
}
@Override
public void onScrollStarted() {
if (slide.isOpened())
handleImage.setImageResource(R.drawable.ic_tray_collapse);
else {
handleImage.setImageResource(R.drawable.ic_tray_expand);
}
}
答案 1 :(得分:1)
在open()
中使用onCreate()
,它会立即打开抽屉。
您可以查看完整的API here