当前位置: 首页 > 知识库问答 >
问题:

如何实现具有可见句柄的DrawerLayout

琴光亮
2023-03-14

我已经成功地为我的应用程序实现了一个NavigationDrawer。

我的应用程序会显示一个在屏幕左侧打开的抽屉。

我的问题是我需要在左边添加一个按钮。可以点击或滑动该按钮来打开左边的抽屉。我能做的。

[编辑]我正在支持API level 8...因此不能使用ImageView.SetTranslationXView.OnAttachStateChangelistener

共有1个答案

吕鸿朗
2023-03-14

挺棘手的。

我认为这与新的谷歌地图应用程序中的抽屉把手类似。别相信我的话,不确定。:)

我已经编写了toggle,它停留在activity内容视图的边缘。拖动DrawerLayout时,我将X轴上的视图转换为最小子视图(即DrawerLayout内容视图)减去阴影(如果有)。因为DrawerLayout的shadow casted+content视图给出了整个抽屉的全部测量宽度。

mDrawerToggle = new DrawerLayoutEdgeToggle(
    this, 
    mDrawerLayout, 
    R.drawable.ic_launcher, 
    R.drawable.ic_launcher,
    Gravity.LEFT, 
    true) {

        @Override
        public void onDrawerClosed(View view) {
            super.onDrawerClosed(view); //must call super
        }

        @Override
        public void onDrawerOpened(View view) {
            super.onDrawerOpened(view); //must call super
        }

        @Override
        public void onDrawerSlide(View view, float slideOffset) {
            super.onDrawerSlide(view, slideOffset); //must call super

        }
    };
mDrawerLayout.setDrawerListener(mDrawerToggle);
 类似资料:
  • 用命令findobj可以通过搜索带特定属性值的对象得到图形对象的句柄。用findobj,可以指定任何属性组合的值,这样要从多个对象选出一个就变的容易。例如,可能需要找出带有正方标记蓝色外观的蓝线。 也可以指定搜索哪个图形或轴。以下各节提供示例阐述如何用findobj命令。 查找所有某类型的对象 由于所有对象都具有一个用来辨别类型的类型属性,你可以查找所有某特定类型对象事件的句柄。例如, h = f

  • 我想得到工具栏按钮的句柄。我知道它的ID和工具栏按钮所在的窗口句柄。但是GetDlgItem函数似乎不适用于工具栏按钮。 我原以为具有正确参数的函数SendMessage()可以获得句柄,但我找不到任何有助于实现此目的的msg参数。 什么函数可以帮助我获得它的句柄?

  • 问题内容: 我有几个具有android:visibility =“ invisible”属性的视图,文本视图和一个按钮。我的目标是单击位于这些“不可见”窗口小部件上方的按钮,以使这些窗口小部件变得可见。我创建了另一个名为“ VisibilityActivity.java”的Java类,并尝试了以下方法,但是由于某种原因,当我运行该应用程序时,该按钮没有执行任何操作。我不知道自己缺少什么。 这是代码

  • 我已经为TextInput创建了公共类,并多次使用它,但它的事件处理方法相同。我想在TextInput中填充数据后处理数组数据。 这里添加了多个textField和单个。如何标识哪个textInput调用了。 根据数组数据动态添加的textField组件。现在,当用户编辑textInput时,我希望在特定索引上标识textInput和更新的数组文本。

  • 在书写代码与阅读代码的时候,经常会看到这一句代码: typedef void *HANDLE ,它是何方神圣呢?如何理解呢? 不理解它的时候,感觉它很神奇,知道它以后,它就是个typedef的定义,只不过是void*类型罢了,也就是HANDLE等价于void *,我们可以叫它披着句柄皮的指针(PS:指针和句柄是有区别的,在这说句废话); 对于void* 神通广大,因为它作为函数参数or函数返回值,

  • 你可以创建任何MATLAB函数的句柄,然后用这些句柄作为函数链接的途径。函数句柄主要用来传递自变量列表给其他函数,用句柄执行函数或求值。 在MATLAB中,通过在函数名前加上符号@构造函数句柄。下面例子为SIN函数创建一个函数句柄,然后赋值给变量fhandle: fhandle = @sin; 用MATLAB的fevel函数对函数句柄求值。下面的plot_fhandle函数接收一个函数句柄和数据