gpt4 book ai didi

java - Android 侧边栏,如 facebook 或 firefox

转载 作者:IT老高 更新时间:2023-10-28 23:19:29 25 4
gpt4 key购买 nike

有了新的 facebook 应用程序,它带有一个隐藏的侧边栏,我很想在我的应用程序中使用类似的东西。它看起来有点像 firefox mobile 的侧边栏...

除了重新实现 ViewPager 之外,您知道如何实现它吗?我已经尝试过使用 Horizo​​ntalScrollView 但这也会导致重新实现它...

除了这两个之外,我没有看到任何其他方式......有什么建议吗?

提前致谢

最佳答案

我想出了一个解决方案...我不知道它是否完美,但效果很好。

所以我所做的是一个单一的 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 是带有标题和 ListView 的简单线性布局。

“魔法”发生在动画中:

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 是目标移动。我在开始动画之前设置了它,而我想要动画的 View (在本例中是 id=news_list_parent 的 View )在构造函数中设置。

但只是为了理解它是如何工作的,制作一个按钮和它的监听器会做这样的事情:

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

关于java - Android 侧边栏,如 facebook 或 firefox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8453320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com