如何让Android SlidingDrawer从左侧滑出?

我在我的应用程序中使用了slidingDrawer ,它在处于纵向模式时将处理程序放在底部。 当用户切换到横向模式(宽屏)时,我希望处理程序位于左侧。 当我将方向从垂直方向更改为水平方向时,处理程序位于右侧。

我已经像这样定义了我的布局XML:

  

任何人都知道如何让它从左向右滑动?

Solutions Collecting From Web of "如何让Android SlidingDrawer从左侧滑出?"

除了抓住SlidingDrawer源代码,对其进行更改以及使用修改后的版本之外,我认为你不能。 你同样不能使SlidingDrawer从顶部下降。

我find了一种简单的方法。 您所要做的就是为slidingDrawer,内容和句柄设置180º的旋转。 您可以类似地制作一个从顶部下降的SlidingDrawer,就像我在这里做的那样。

看看我的例子,首先是从右到左,以便能够看到差异。

     

现在看看我改变了什么让它从左边滑出来。

       

请注意,我还创建了一个LinearLayout来设置为句柄,并没有改变它的旋转,但我更改了它的子项的旋转。 这是为了防止我遇到的一个小问题,但一切都很好,而且很简单。

我已经重写了一个类,并使其成为我的开源库的一部分。 我花了差不多一个星期才把它做对了。 请查看我在Android的Aniqroid开源库中的SlidingTray

http://aniqroid.sileria.com/doc/api

在上面的链接中findSlidingTray类的下载链接和文档。

(披露:我是该项目的维护者。)

您可以使用此答案中发布的代码: Android SlidingDrawer?

提供的解决方案function在xml中设置Slidingdrawer的方向也很简单,只需要1个类和attrs.xml中的一些添加并且稳定,因为它来自SDK的Androids Slidingdrawer。 我还讨论了为什么我没有选择在互联网/ SO上find的其他流行的库/解决方案。

快速链接到要点: MultipleOrientationSlidingDrawer(源和示例)@gist