当前位置: 首页 > 知识库问答 >
问题:

Facebook lide滑出菜单(不使用库)

严俊彦
2023-03-14

我想有facebook喜欢菜单在我的应用程序。有很多线程在这方面,他们都建议使用一个库,实际上只是采取屏幕截图,并向右滑动图像,以便显示菜单在左手边和幻灯片图像与一些过渡。但是在这种情况下,右边的布局是不可点击的,因为它是一个图像。

但我有另一种方法,我有一个根布局,它已经有菜单布局和内容布局。但根布局向左设置了一些负边距,因此不可见。像这样-

当用户按下菜单按钮时,菜单布局向右滑动,根布局的左边距设置为0。所以现在我们看到的是-

现在,真正的问题从这里开始

我想滑动两个布局与一些动画。因此,当我对菜单布局和内容布局进行动画时,即使我对其应用相同的动画,这两个布局的动画也不是以相同的速度。因此,我试图通过设置边距来使根布局仅向右/左移动。但这样做时,屏幕上什么也不显示。我哪里错了。我设置边距的方式如图所示-

int width = leftLayout.getWidth();
isLayoutShown = !isLayoutShown;
if(isLayoutShown){
    rootLayoutParams.setMargins(0, 0, 0, 0);
    rootLayout.setLayoutParams(rootLayoutParams);    
}else{
    rootLayoutParams.setMargins(-width, 0, 0, 0);
    rootLayout.setLayoutParams(rootLayoutParams);
}

共有1个答案

单淳
2023-03-14

我终于能做到了。下面是我点击左上角菜单按钮时使用的代码:

@Override
public void onClick(View v) {
rootLayoutParams = new LayoutParams(rightLayout.getWidth(),
    rightLayout.getHeight());

if (lhsMenu.getVisibility() == View.GONE) {
    lhsMenu.setVisibility(View.VISIBLE);
    Animation slideRight = setRightSlidingAnimation();
    rightLayout.setAnimation(slideRight);
    lhsMenu.setAnimation(slideRight);
} else {
    Animation slideLeft = setLeftSlidingAnimation();
    rightLayout.setAnimation(slideLeft);
    lhsMenu.setAnimation(slideLeft);
    lhsMenu.setVisibility(View.GONE);
    }
}

更新:同时将边距设置为rightLayout的左和右(如果需要),以便rightLayout不会收缩。

_RightLayoutParams.SetMargins(width,0,-width,0);

其中width=200

 类似资料:
  • 我有一个自定义的滑出菜单实现(不使用任何库),在其中我向右滑动布局,并在左侧显示菜单(就像脸书,谷歌应用程序一样)。显示菜单后,我通过给出一些alpha值来淡化右侧布局,如下面的代码所示: 但是这一切都发生在我的菜单显示时。我想要的是,当布局向右滑动时,我想使它变暗。布局从左边缘越远,布局就越暗。此外,我使用以下代码进行布局动画,将布局向右滑动。 当布局向右滑动时,我如何使其褪色/变暗?

  • 本文向大家介绍Android利用滑动菜单框架实现滑动菜单效果,包括了Android利用滑动菜单框架实现滑动菜单效果的使用技巧和注意事项,需要的朋友参考一下 之前我向大家介绍了史上最简单的滑动菜单的实现方式,相信大家都还记得。如果忘记了其中的实现原理或者还没看过的朋友,请先去看一遍之前的文章Android仿人人客户端滑动菜单的侧滑特效实现代码,史上最简单的侧滑实现 ,因为我们今天要实现的滑动菜单框架

  • 主要内容:本节引言:,1.使用的注意事项,2.使用代码示例,3.代码示例下载,本节小结:本节引言: 本节给大家带来基础UI控件部分的最后一个控件:DrawerLayout,官方给我们提供的一个侧滑菜单 控件,和上一节的ViewPager一样,3.0以后引入,低版本使用它,需要v4兼容包,说到侧滑,相信 很多人都用过github上的SlidingMenu,不过好像有两个版本,一个是单独的,另一个需要依赖另一 个开源项目:ActionBarSherlock;既然Google为我们提供了这

  • 我正在我的应用程序中使用带有ActionBarSherlock的滑动菜单。动作条和滑动菜单工作良好,但我希望滑动菜单只滑动内容,而不是动作条像最新版本的youtube应用程序。 这在SlidingMenu中是可能的吗?如果是,请说明如何 提前致谢 下面是我的actionbar和slidingmenu代码

  • 我是android新手,我想创建一个滑动动作栏菜单,我在谷歌上搜索了一下,找到了关于这个的教程。但在更多教程中,使用xml文件中的FrameLayout创建布局和UI程序。我的问题是:我是否使用LinearLayout或RelativeLayout而不是FrameLayout?还有一个问题:对于android 2.2的设备,我会使用滑动动作条菜单吗?哪个版本的Android可以使用这个? 在谷歌地

  • 我的应用程序有问题。。。溢出菜单不可见!我可以点击手机的右上角,菜单项就会显示出来,但这三个点并没有显示出来。 这是我的xml: Java代码: 我在StackOverflow上尝试了其他解决方案,但它们似乎都不起作用。我试过在两部手机上运行这个应用程序,都是Android版本 更新:我尝试在应用程序中添加导航抽屉。再次,当我点击抽屉按钮应该在的一侧时,菜单会显示出来,但按钮不可见。。。 更新2: