当前位置: 首页 > 面试题库 >

Android滑动抽屉在创建时打开

郭璞
2023-03-14
问题内容

我想要一个在应用启动时打开的滑块。它将通过按钮等打开,并且当用户关闭它时,将有更多按钮可供访问。滑动抽屉可以吗?我会在onCreate()方法中添加什么?

谢谢


问题答案:

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);
    }
}


 类似资料:
  • 就像Android开发者的页面上说的 用户可以通过从屏幕左边缘滑动或通过触摸操作栏上的应用图标将导航抽屉带到屏幕上。 但奇怪的是,我的活动上的导航抽屉对滑动动作没有反应。它只在触摸操作栏上的图标时切换。下面是我对导航抽屉的实现 对此有什么可能的解释吗?我怀疑的是我的活动默认有它的一个片段的布局。所以这是原因吗? 编辑:我的活动的布局文件

  • 我一直在遵循谷歌的导航抽屉指南,我想把它添加到一个带有标签和手势的活动中。 我想禁用打开导航抽屉的手势,有人知道怎么做吗?

  • 我只想创建一个导航抽屉活动。当我右击应用程序时

  • 二等 三等

  • 有没有办法禁用滑动手势来打开导航抽屉?在标签之间滑动时出现菜单真的很烦人。

  • 我试图遵循这个答案,其主要思想是覆盖中的,该活动将由所有活动扩展,因此只有将具有导航抽屉。 然而,在我尝试实现答案后,我的导航从未显示(即使在)。我就是这么做的: 这是导航抽屉的xml: 这是我重写的(在中): 这是我在上的,注意我使用的是而不是: 最后,我只需要像往常一样扩展类和代码。 更新 根据答案,这是我的工作覆盖: