在安卓中实现滑动叠加面板的最简单方法

4
我需要一种最简单的方法来实现我的应用程序中的滑动叠加面板。这是我想要做的事情:在我的主活动中有一个图像网格视图,当用户点击一个图像时,从屏幕顶部滑动叠加面板到半屏幕位置,显示图像的详细信息并部分隐藏网格视图的内容。我已经搜索了很多文章,包括使用FrameLayout、SlidingUp Library和Fragments等等,但我不想为这个简单的任务使用库,因为它可能会过度设计。所以,有人可以分享一些使用Framelayout或Fragment实现这个功能的最简方式的示例吗?

请查看 https://github.com/Ali-Rezaei/SlidingDrawer,它可以通过几行代码从任何一侧滑动。 - Ali
2个回答

4
创建一个RelativeLayout,其中包含一个超出屏幕的视图,并使用ObjectAnimator移动它,设置视图的translateY属性。
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(yourLayout, "TranslationY", 200 );
objectAnimator.start();

这将使布局容器的移动具有动画效果。


1
ObjectAnimator是在API 11中添加的,这个解决方案无法在旧版Android操作系统上运行。 简单地说,您可以在res/anim文件夹中使用一个翻译动画,并从您的活动中调用它。 - user2167877

1
你可以使用这个。

https://github.com/jfeinstein10/SlidingMenu

如果您正在使用Actionbar,则可以使用以下代码:

如果您正在使用Actionbar,则可以使用以下代码:

setTheme(theme.whatever);
requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
super.onCreate(savedInstanceState);
setContentView(R.layout.content);
getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.color)); 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接