为了实现导航条翼的Facebook ,我有以下布局配置:
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<!-- This is the Lower Layer hosting the navbar -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<!-- ListView representing the navbar -->
<ListView
/>
</LinearLayout>
<!-- This is the Top Layer hosting the Content -->
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<!-- This is where the View of the Content will be injected -->
</FrameLayout>
</FrameLayout>
因此,基本的想法是,当我想打开导航栏我只是顶层转移到右侧和导航栏将被揭示。 现在这个效果很好,我可以与导航栏的交互ListView
为了通过应用浏览,只要是被内部注入的看法TopLayer
是不是ScrollableView
(像另一个ListView
,一个ScrollView
或WebView
)。
例如,当TopLayer
是WebView
的实例,我不能滚动,并与导航栏的互动ListView
,因为它是WebView
是获取滚动(althoough我把它转移到右侧)。
我想这是不平凡的叠加许多ScrollableView
的,但我希望有黑客来克服这些问题。
谢谢你的帮助!
编辑
顺便说一句,这是我如何转变的TopLayer
视图(使用TranslateAnimation ):
TranslateAnimation translateAnim = new TranslateAnimation(0.0F, mListView.getWidth(), 0.0F, 0.0F);
translateAnim.setDuration(..);
translateAnim.setFillAfter(true);
mTopLayerView.startAnimation(translateAnim);