`
fanguanghui
  • 浏览: 96873 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

可动态布局的Android抽屉之基础

 
阅读更多

本文来自http://blog.csdn.net/hellogv/ ,欢迎转摘,引用必须注明出处!

以前曾经介绍过《Android提高第十九篇之"多方向"抽屉》,当这个抽屉组件不与周围组件发生压挤的情况下(周围组件布局不变),是比较好使的,但是如果需要对周围组件挤压,则用起来欠缺美观了。

如下图。在对周围压挤的情况下,抽屉是先把周围的组件一次性压挤,再通过动画效果展开/收缩的,这种做法的好处是快速简单,坏处是如果挤压范围过大,则效果生硬。

本文实现的自定义抽屉组件,主要针对这种压挤效果做出改良,渐进式压挤周围组件,使得过渡效果更加美观。如下图。

本文实现的抽屉原理是酱紫:

1.抽屉组件主要在屏幕不可视区域,手柄在屏幕边缘的可视区域。即 抽屉.rightMargin=-XXX + 手柄.width

2.指定一个周围组件为可压挤,即LayoutParams.weight=1;当然用户也可以指定多个View.

3.使用AsyncTask来实现弹出/收缩的动画,弹出:抽屉.rightMargin+=XX,收缩:抽屉.rightMargin-=XX

总结,本文的自定义抽屉虽然对压挤周围组件有过渡效果,但是比较耗资源,读者可以针对不同的情况考虑使用。

本文的源码可以到http://download.csdn.net/detail/hellogv/3615686下载。

接下来贴出本文全部源代码:

main.xml的源码:

GridView的Item.xml的源码:

Panel.java是本文核心,抽屉组件的源码,这个抽屉只实现了从右往左的弹出/从左往右的收缩,读者可以根据自己的需要修改源码来改变抽屉动作的方向:

main.java是主控部分,演示了Panel的使用:

后面还会继续介绍如何在Panel加入拖拉效果的处理!

分享到:
评论

相关推荐

    “可动态布局”的Android抽屉组件之完整篇

    本篇将深入探讨如何创建一个可动态布局的Android抽屉组件,提供一个完整的实现案例源码。 首先,抽屉组件的基本概念:DrawerLayout是Android提供的一个视图容器,它可以包含两个主要区域——主内容视图和一个或多个...

    “可动态布局”的Android抽屉组件之构建基础

    总之,构建一个支持动态布局的Android抽屉组件,需要对Android的基础组件有深入理解,尤其是`DrawerLayout`的用法,以及如何在运行时动态修改布局。ExPanel(1)作为一个示例,为我们提供了一种可能的实现方式,通过...

    Android抽屉效果上下抽屉

    `<android.support.v4.widget.DrawerLayout>` 作为根元素,包含主布局和抽屉布局。抽屉视图使用 `android:layout_gravity` 属性来定位,如 "start" 或 "end" 表示从左侧或右侧滑出。 6. **数据绑定和菜单项点击事件...

    可左右两侧挤压傍边布局的Android抽屉

    在Android开发中,"可左右两侧挤压傍边布局的Android抽屉"是一种常见的设计模式,通常用于实现侧滑菜单效果。这种布局允许用户从屏幕的边缘向内滑动,显示隐藏的内容,比如导航选项或者更多功能。在Android的UI设计...

    Android 抽屉实现

    首先,Android抽屉的实现主要依赖于`SlidingDrawer`组件(尽管在较新的API级别中已被弃用)或者`NavigationView`结合`DrawerLayout`。在这个案例中,`slidingdrawer`可能是指一个包含实现抽屉功能的源代码文件。`...

    Android之抽屉效果的下拉菜单(上下伸缩和展开)

    通过以上步骤,你可以创建一个具有上下伸缩和展开效果的Android抽屉下拉菜单。这个过程中,不断优化用户体验,让交互更加自然流畅,是提升应用品质的关键。同时,持续学习和分享新的实现方式,也是提升个人技能的...

    android抽屉结合Fragment

    总的来说,Android抽屉结合`Fragment`是一种常见的应用设计模式,它提供了良好的用户体验和高效的导航结构。开发者需要熟悉`NavigationView`和`DrawerLayout`的使用,以及如何与`Fragment`协作,才能实现流畅的抽屉...

    android类似双向抽屉效果实现

    首先,我们需要了解Android的`DrawerLayout`组件,它是实现抽屉效果的基础。`DrawerLayout`是Android SDK中的一个布局容器,它可以容纳一个或两个抽屉视图,通常是从屏幕左侧或右侧滑出。在XML布局文件中,你可以将...

    android抽屉组件实例

    以上就是关于“android抽屉组件实例”的核心知识点。通过学习和实践这个实例,初学者不仅可以掌握抽屉组件的基本用法,还能进一步理解Android布局和事件处理机制,为今后的Android开发打下坚实的基础。记得在实际...

    Android 抽屉效果的实现

    在Android应用开发中,抽屉效果(DrawerLayout)是一种常见的设计模式,用于...以上就是关于Android抽屉效果实现的基本知识和步骤。在实际项目中,你可能需要根据具体需求进行调整,例如添加动画效果、定制菜单样式等。

    超爽的android抽屉效果.rar

    Android抽屉效果的核心组件是`NavigationView`和`DrawerLayout`,它们是Android SDK中的两个关键布局组件。 1. **NavigationView**: 这是一个用于创建侧滑菜单的视图组件。它可以显示一个包含头像、用户名、菜单项...

    android抽屉效果源码

    总的来说,这个“android抽屉效果源码”是一个很好的学习资源,它涵盖了Android手势检测、视图动画、自定义布局等多个关键知识点。通过分析和运行这个示例,开发者可以深入理解Android滑动抽屉的实现原理,并将其...

    android 多方向抽屉

    描述中的"android多方向抽屉drawer,上下左右均可"表明我们将关注如何实现一个可以沿着屏幕四个边界的抽屉。在Android中,虽然官方的`android.widget.SlidingDrawer`类已经被废弃,但开发者仍然可以通过自定义视图...

    Android下拉抽屉效果

    在Android应用开发中,下拉抽屉(Pull Down Drawer)是一种常见的交互设计,它通常用于显示侧滑菜单或隐藏的功能选项。在Android4.4(KitKat)版本中,谷歌引入了新的设计指南和组件,使得实现这样的效果更加便捷。...

    从gitHub上整理出Android抽屉效果,包括左滑,右滑,上滑,下滑,想要实现的任何菜单效果都有

    这个从gitHub上整理的Android抽屉效果项目,涵盖了左滑、右滑、上滑和下滑等多种交互方式,为开发者提供了实现各种菜单效果的工具。 首先,我们来了解一下抽屉布局的基本概念。抽屉布局(DrawerLayout)是Android ...

    Android滑动抽屉示例

    滑动抽屉通常包含在一个Activity的布局文件中,利用`android.support.v4.widget.DrawerLayout`作为根视图。`DrawerLayout`是Android支持库的一部分,用于实现这种侧滑菜单效果。它可以承载两个子视图:主要内容视图...

    Android-仿百度地图抽屉拖拽效果

    在Android应用开发中,抽屉(Drawer)效果是一种常见的交互设计,它允许用户从屏幕边缘滑动出一个可隐藏的菜单或内容区域,类似于现实生活中的抽屉。这种效果在许多应用中都有应用,如Google Maps、Facebook等,而...

    Android 抽屉fragment实现demo

    本示例"Android抽屉fragment实现demo"着重展示了如何使用Fragment来构建这种交互效果,并且包含了抽屉的进入和退出动画,使得用户体验更为流畅。 首先,抽屉功能的实现主要依赖于`android.support.v4.widget....

    android UI 抽屉效果的实现及使用

    以上就是使用`DrawerLayout`和`RecyclerView`实现Android抽屉效果的基本流程。实际开发中,你可能还需要根据具体需求进行调整,比如添加自定义头部视图、实现下拉刷新等高级功能。熟练掌握这些组件的使用,能帮助...

Global site tag (gtag.js) - Google Analytics