导航抽屉可点击区域

时间:2014-04-03 10:35:28

标签: android android-actionbar navigation-drawer android-support-library

我在可点击区域发现了一个奇怪的行为,用于打开导航抽屉:

Navigation drawer clickable area to open it

Android 4.2.2 +

  • 应用程序图标和操作栏标题是可点击的(请参阅图像上的红色框)

Android 4.2.2 -

  • 只有应用程序图标可以点击(参见图像上的黄色框)

对此有何解决方法?我希望Android 4.2.2-具有更大的可点击区域。

1 个答案:

答案 0 :(得分:0)

因此,发生这种情况的原因是ActionBarView膨胀家庭布局的方式。从Jelly Bean mr2开始,他们添加了一个名为action_bar_up_container的布局,当ActionBar首页夸大时,它作为父级添加到action_bar_up_container家庭布局中。在这之前;但是 final int abUp = getResources().getIdentifier("up", "id", "android"); final View titleContainer = (View) findViewById(abUp).getParent(); titleContainer.setEnabled(true); titleContainer.setClickable(true); 没有添加到View,因为它不存在,虽然包含背景,但只有action_bar_title_item

因此,您可以启用标题容器并使其可点击,如下所示:

View.OnTouchLIstener

但是由于每个titleContainer在Jelly Bean mr2之前被充气的方式,所以可以说,up容器和标题容器不会被链接。

Example

因此,似乎唯一的解决方法是将MotionEvent.ACTION_DOWN附加到MotionEvent.ACTION_UP并在ActionBar.setCustomView和{{1}}上实施某种伪选择,对我来说似乎比它的价值更麻烦,但如果有更好的解决方案,我欢迎它。

虽然,我想你也可以调用{{1}}并夸大模仿主页和标题容器的布局。这可能是最简单的解决方法。