`
que2010
  • 浏览: 73640 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

实现Launcher的抽屉效果

阅读更多

android 的 launcher 有一个抽屉效果,可以有拉出和关闭的效果. 这里主要讨论如何实现这种效果.

 
将slidingdraw 控件添加到相关的layout中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

        <SlidingDrawer
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:handle="@+id/handle"
            android:content="@+id/content" >
            <Button
                android:id="@+id/handle"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/handle" />
            <LinearLayout
                android:id="@+id/content"
                android:layout_width="fill_parent"
                android:orientation="vertical"
                android:layout_height="wrap_content">
                <TextView
                    android:width="wrap_content"
                    android:height="wrap_content"
                    android:text="@string/hello"
            </LinearLayout>
        </SlidingDrawer>

</LinearLayout>
 
有几个属性要注意, 先说slidingdrawer的属性.
android:handle="@+id/handle" 这个属性指定的是那一个控件的相应将启动这个SlidingDraw 这里是一个Button控件
android:content="@+id/content" 这个属性指定的SlidingDrawer的内容,若是SlidingDraw启动后, 应该调出那个内容,这里是一个linelayout
除此之外, Button里面设置了一个selector, android:background="@drawable/handle", 这样在不同的响应中就有不同的背景
<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/tray_handle_normal" />
    <item android:state_pressed="true" android:drawable="@drawable/tray_handle_pressed" />
    <item android:state_focused="true" android:state_enabled="true" android:drawable="@drawable/tray_handle_selected" />
    <item android:state_enabled="true" android:drawable="@drawable/tray_handle_normal" />
    <item android:state_focused="true" android:drawable="@drawable/tray_handle_selected" />
</selector>
 
分享到:
评论

相关推荐

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

    在Android应用开发中,抽屉效果(Drawer Effect)是一种常见的设计模式,用于实现类似Google Now、Facebook等应用的侧滑菜单。这个从gitHub上整理的Android抽屉效果项目,涵盖了左滑、右滑、上滑和下滑等多种交互...

    Android Launcher抽屉类SlidingDrawer的使用

    而SlidingDrawer组件是Android SDK提供的一种交互控件,它允许开发者在界面中添加一个可滑动的抽屉效果,用于隐藏并展示额外的信息或功能。在Android开发中,SlidingDrawer常被用于实现类似iOS中的滑动菜单或者底部...

    拆解Launcher中的WorkSpace实现左右滑动效果

    总的来说,实现一个类似Android Launcher的左右滑动工作区效果涉及到多方面的技术,包括事件处理、动画设计、数据同步和性能优化。理解这些知识点并熟练运用,可以让你的自定义Launcher应用更加专业和用户友好。

    launcher3切屏动态效果

    - 在launcher3中,可能需要自定义ViewGroup以实现特定的布局效果和动画逻辑。例如,创建一个自定义的PagerAdapter来处理屏幕的切换,同时实现动画效果。 5. **触摸事件处理** - 切屏动画与用户的触摸事件密切相关...

    android launcher3源码 循环翻页

    Launcher3是一个Activity,它继承自PhoneWindowManager,并实现了桌面图标、快捷方式、抽屉菜单等功能。在源码中,我们可以看到Launcher3主要由以下几个核心类构成:Launcher、workspace、CellsContainer和...

    Android开发实现Launcher3应用列表修改透明背景的方法

    "Android开发实现Launcher3应用列表修改透明背景的方法" 本文主要介绍了Android开发实现Launcher3应用列表修改透明背景的方法,结合实例形式分析了Launcher3相关配置文件与功能函数修改设置操作技巧。下面将对标题...

    Android Launcher3源码

    `Launcher3`使用`PropertyAnimator`和`ObjectAnimator`来实现平滑的过渡效果,如应用图标拖放时的缩放、旋转动画。`ViewPropertyAnimator`帮助处理视图的可见性和动画状态。 8. **性能优化** 为了提高启动速度和...

    Launcher3_android原生launcher_

    - Launcher3主要由四大组件组成:`LauncherActivity`(主活动)、`Workspace`(桌面)、`AppDrawer`(应用抽屉)和`Widgets`(小部件)。 - `LauncherActivity`是入口点,管理整个启动器的生命周期。 - `...

    MT8788-Android12 Launcher3去掉抽屉实现左右滑动

    "MT8788-Android12 Launcher3去掉抽屉实现左右滑动"这个项目就是针对这种需求进行的定制。 首先,我们要理解“去掉抽屉”的含义。在原生Android中,应用抽屉是用户存放和访问所有应用的地方,通常可以通过滑动主...

    android系统 launcher2

    在实现Launcher2时,开发者需要考虑多方面的因素,如性能优化、内存管理、用户界面的可定制性以及与其他系统组件的协作。通过深入研究Launcher2的源代码,开发者可以学习到如何构建高效、响应式的Android应用,并对...

    去掉抽屉的8.1Launcher3源码.zip

    这个【去掉抽屉的8.1Launcher3源码】压缩包文件,正是为了展示这一改动的源代码实现。 传统的Android系统通常将应用抽屉(App Drawer)作为一个单独的页面,用户可以通过滑动或者点击图标来访问未在主屏幕上放置的...

    android 可直接运行的launcher源码

    3. **布局文件**: 如`res/layout/main.xml`定义了Launcher的UI结构,包括网格视图、抽屉视图等。开发者可以通过修改这些XML文件来调整Launcher的外观和行为。 4. **数据存储**: Launcher可能会使用SQLite数据库来...

    Launcher3_androidlauncher_android开发_

    1. **应用抽屉**:除了主屏幕,Launcher3还包括应用抽屉,展示所有安装的应用。抽屉可通过手势或按钮切换。 2. **长按操作**:允许用户长按图标进行编辑(如移动、删除、创建快捷方式),这需要监听触摸事件并处理...

    5.0 Launcher3源码

    - **动画效果**:通过PropertyAnimator和Transition API实现平滑的过渡和动画效果,提升用户体验。 4. **触摸事件处理** - **MotionEvent**:Launcher3通过处理MotionEvent来响应用户的触摸操作,如点击、滑动和...

    Launcher3原码

    6. **AppGrid**: 应用抽屉(App Drawer)的实现,通常以网格形式展示所有应用程序。AppGrid使用RecyclerView作为基础,自定义适配器和布局管理器以满足特定的布局需求。 7. **ShortcutAndWidgetContainer**: 这个类...

    Launcher4.0界面循环滑动

    在Android系统中,Launcher是用户与设备交互的入口,它负责展示桌面图标、应用抽屉以及各种快捷方式,使得用户可以方便地启动应用程序。本文将深入探讨如何实现Android 4.0(ICS,Ice Cream Sandwich)中的Launcher...

    Launcher源码

    当用户打开Launcher时,`LauncherActivity`首先启动,接着加载工作区和应用抽屉的数据。这些数据主要来源于`PackageManager`和`ContentProvider`,它们提供应用程序信息和用户设置。`Workspace`和`AppsGrid`根据...

    Android 12.0 Launcher 客制化指导手册.pdf

    允许更改图标的形状、颜色、阴影等属性,以实现独特的视觉风格。 **3.5 待机界面客制化** 自定义待机界面的壁纸、小部件、快捷方式等,打造个性化待机体验。 **3.6 应用抽屉客制化** 可以改变应用抽屉的排序方式...

Global site tag (gtag.js) - Google Analytics