有了新的facebook应用程序,它带有一个隐藏的侧边栏,我很想在我的应用程序中使用类似的东西。看起来有点像firefox mobile的侧边栏…
除了重新实现ViewPager之外,您是否有其他实现方法?我已经尝试过HorizontalScrollView了,但这也会导致它的重新实现。
除了这两种以外,我没有看到其他任何方式……有什么建议吗?
提前致谢
我想出了一个解决方案…我不知道它是否完美,但效果很好。
因此,我要做的是将一个单独的FrameLayout堆叠在一起,然后将顶部布局动画化,使其滑动到屏幕右侧(只需要调用slideTo或scrollBy。基本上就是这样!非常简单有效!(虽然代码不是很漂亮:P)
编辑:
一些代码示例。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFF" >
<include
android:id="@+id/menu_layout"
layout="@layout/menu_list"
android:visibility="invisible"/>
<include
android:id="@+id/news_list_parent"
layout="@layout/main_news_list"
/>
</FrameLayout>
这是布局xml,非常简单。包含的.xml是带有标题和列表视图的简单LinearLayouts。
“魔术”发生在动画中:
protected void applyTransformation(float interpolatedTime, Transformation t) {
int newOffset;
if(expanded) {
newOffset = 0;
newOffset = (int)(endOffset*(1-interpolatedTime));
} else {
newOffset = (int)(endOffset*(interpolatedTime));
}
view.scrollTo(-newOffset, 0);
}
endOffset是目标运动。我在开始动画之前进行了设置,然后将要设置动画的视图(在这种情况下为id =
news_list_parent的视图)设置在构造函数上。
但是仅仅为了了解它是如何工作的,就制作一个按钮,它的监听者会做这样的事情:
if(viewBeneath.getVisibility() == View.INVISIBLE) {
viewBeneath.setVisibility(View.Visible);
viewToSlide.slideTo(-(width-50), 0);
}
最后覆盖后退按钮以执行按钮的相反操作
if(viewBeneath.getVisibility() == View.VISIBLE) {
viewToSlide.slideTo(0, 0);
viewBeneath.setVisibility(View.Visible);
}
将此读为伪代码=)这是我一开始所做的,但是代码丢失了:P
让我们看看如何添加侧栏。我们的APP可能包含两种侧栏,一个在左边,另一个在右边。我们应该在body的开始处添加侧栏的htmlbody: <body> <!-- First, we need to add Panel's overlay that will overlays app while panel is opened --> <div class="panel-overlay
可以从左侧或者右侧滑出的面板。 使用侧栏 在任何元素上增加 .open-panel 类都可以使它能点击打开侧栏。如果有多个侧栏,你可以通过 data-panel='{panel的选择}'来指定具体打开哪一个侧栏 在任何元素上增加 .close-panel 类都可以使他点击关闭侧栏,因为侧栏只能同时打开一个,所以关闭的时候你不用指定是哪一个侧栏。 可以通过 .panel-left 或者 .panel
在LSV中可以控制侧栏的显隐(默认显示),在“视图”菜单栏中“视图角度”栏点击“侧栏”,控制侧栏的显隐。侧栏选中高亮,可以看到侧栏: 不选中,就隐藏了侧栏,如下图:
在LSV中可以控制侧栏的显隐(默认显示),在“视图”菜单栏中“视图角度”栏点击“侧栏”,控制侧栏的显隐。侧栏选中高亮,可以看到侧栏: 不选中,就隐藏了侧栏,如下图:
创建侧边栏对于以下目的很有用: 将 相关文档 分组 为每篇文档 显示一个侧边栏 提供带有 下一页/上一页(next/previous)按钮的 分页导航 要为你的 Docusaurus 网站添加侧边栏的话,需要: 创建一个导出(export) 侧边栏对象(sidebar object) 的文件。 将此对象直接或通过 @docusaurus/preset-classic 传递给 @docusaurus
侧栏是和菜单栏一样,和用户直接交互并呈现用户操作结果和数据的地方,并且包含了很多菜单栏的快捷操作功能。整体上分为场景数据和搜索两部分。 场景数据 场景数据的三维场景包括我的地标、图层和地形3个部分。场景数据以树状结构向用户呈现,每个结构都带一个复选框,可以用于控制数据的显示和隐藏。子节点(具体的元素),或者图层,可以通过双击快速定位(根节点双击是展开和合并)。 【我的地标】:用户自己添加的点、线、