android 开源项目GuillotineMenu,酷炫的铡刀菜单

开源项目GuillotineMenu使用指南

先上效果图:

IDE使用的是Android studio.

首先下载GuillotineMenu项目的library引用到项目中,下载地址:

http://download.csdn.net/detail/u012027644/8840527

guillotine.xml:这个XML是菜单的布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/guillotine_background"
    android:orientation="vertical">

    <android.support.v7.widget.Toolbar
        style="@style/Toolbar"
        app:contentInsetStart="0dp">

        <ImageView
            android:id="@+id/guillotine_hamburger"
            style="@style/ImageView.Hamburger"
            android:src="@drawable/ic_menu" />
    </android.support.v7.widget.Toolbar>

    <LinearLayout
        android:id="@+id/profile_group"
        style="@style/LinearLayout.GuillotineItem"
        android:layout_marginTop="@dimen/guillotine_medium_margin">

        <ImageView
            style="@style/ImageView.GuillotineItem"
            android:src="@drawable/ic_profile" />

        <TextView
            style="@style/TextView.GuillotineItem"
            android:text="我的信息" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/feed_group"
        style="@style/LinearLayout.GuillotineItem">

        <ImageView
            style="@style/ImageView.GuillotineItem"
            android:src="@drawable/ic_feed" />

        <TextView
            style="@style/TextView.GuillotineItem"
            android:text="我的发现" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/activity_group"
        style="@style/LinearLayout.GuillotineItem">

        <ImageView
            style="@style/ImageView.GuillotineItem"
            android:src="@drawable/ic_activity" />

        <TextView
            style="@style/TextView.GuillotineItem"
            android:text="我的活动" />
    </LinearLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="@dimen/guillotine_divider_height" />

    <LinearLayout
        android:id="@+id/settings_group"
        style="@style/LinearLayout.GuillotineItem">

        <ImageView
            style="@style/ImageView.GuillotineItem"
            android:src="@drawable/ic_settings" />

        <TextView
            style="@style/TextView.GuillotineItem"
            android:text="设        置" />
    </LinearLayout>
</LinearLayout>

activity_main.xml:主Activity的布局

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/root"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <!--顶部遮挡缝隙部分-->
    <View
        android:layout_gravity="top"
        android:layout_width="match_parent"
        android:layout_height="35dp"
        android:background="@color/guillotine_background"
        />

    <!--标题栏-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            app:contentInsetStart="0dp"
            style="@style/Toolbar">

            <ImageView
                android:id="@+id/content_hamburger"
                style="@style/ImageView.Hamburger"
                android:src="@drawable/ic_menu_90" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="断头台菜单"
                android:textColor="#ffffff"
                android:textStyle="bold"
                android:textSize="24sp"/>

        </android.support.v7.widget.Toolbar>

    </LinearLayout>
</FrameLayout>

主Activity的代码:

public class MainActivity extends AppCompatActivity {

    private static final long RIPPLE_DURATION = 250;

    //获取控件
    @InjectView(R.id.toolbar)
    Toolbar toolbar; //标题栏
    @InjectView(R.id.root)
    FrameLayout root; //布局
    @InjectView(R.id.content_hamburger)
    ImageView contentHamburger; //菜单按钮

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.inject(this);

        if (toolbar != null) {
            setSupportActionBar(toolbar);
            getSupportActionBar().setTitle(null);
        }

        //弹出的菜单
        View guillotineMenu = LayoutInflater.from(this).inflate(R.layout.guillotine, null);
        root.addView(guillotineMenu);

        // 添加弹出的菜单
        //GuillotineBuilder的第一个参数为菜单的View,第二个参数为关闭菜单的View也就是菜单布局中的按钮,第三个参数为打开菜单的View也就是主页面中的按钮
        new GuillotineAnimation.GuillotineBuilder(guillotineMenu, guillotineMenu.findViewById(R.id.guillotine_hamburger), contentHamburger)
                .setStartDelay(RIPPLE_DURATION)
                .setActionBarViewForAnimation(toolbar)
                .build();
    }
}

DEMO的下载地址:http://download.csdn.net/detail/u012027644/8840433

项目github的地址:https://github.com/Yalantis/GuillotineMenu-Android

时间: 2024-11-05 19:01:19

android 开源项目GuillotineMenu,酷炫的铡刀菜单的相关文章

论一款炫酷 Android 开源项目的修炼之路(上)

写在前面 在平时的开发过程中,我们经常会查阅很多的资料,最常参考的是 Github 的开源项目.通常在项目的主页面能看到项目的简介和基本使用,并且时不时能看到页面汇中有好多的彩色标签,看起来很酷,很专业,很有逼格,能提升很多的好感度. 前言 本文是一篇很长的文章,其中有很多是素材图片,务必做到每个细节笔者都实践一遍.考虑到大家时间有限,各取所需,所以按照笔者的惯例,首先发布一篇完整版,其次,有一篇缩略版.但本文这次缩略版不好做,所以综合考虑,把每个单独的知识点拆分出来,抓住重点,尽量让大家看的开

论一款炫酷 Android 开源项目的修炼之路(下)

Travis CI 的使用 官网: http://travis-ci.org/ ps: 这个是公开的,如果需要使用私有的,请使用 .com 域名. 需要提醒的是:每次提交代码后都会重新下载需要的资源文件哦,所以时间很长,耐心等待吧. TravisCI 有什么用? travis-ci 就是 自动化 CI 工具,类似于大公司经常使用的 Jenkins,但是 travis-ci 是在云端的,而是支持 github, 还免费,我们可以 用 travis-ci 做很多的事情,不仅仅是 编译看 项目有没有问

Android开源项目总结

Android经典的开源项目其实非常多,把自己熟悉的一些开源项目整理起来,希望能对Android开发同学们有所帮助 项目篇: 1.Apollo音乐播放器 就一个很好的播放器,但是实现的特别好!!! 地址:https://github.com/Splitter/android_packages_apps_apolloMod 2.Oschina客户端 OSChina网站客户端,wp版,ios版都有开源哦. 地址: https://github.com/oschina/android-app 3.Xa

android开源项目框架大全:《IT蓝豹》

android开源项目框架大全: 1.多页切换TabHost9 高仿网易云音乐客户端的Home页面切换Tabhost 高仿网易云音乐客户端的Home页面切换Tabhost,并且三角形是透明的,实现方式,自定义AnimTabsView继承 RelativeLayout 里面对当前选中的item 处理 三角形变成透明效果,即在onDraw 里面对三角形图片经行透明度处理,AnimTabsView提供 setOnAnimTabsItemViewChangeListener方法的onChange()用来

Android开源项目及库搜集

TimLiu-Android 自己总结的Android开源项目及库. github排名 https://github.com/trending,github搜索:https://github.com/search 目录 UI 卫星菜单 节选器 下拉刷新 模糊效果 HUD与Toast 进度条 UI其它 动画 网络相关 响应式编程 地图 数据库 图像浏览及处理 视频音频处理 测试及调试 动态更新热更新 消息推送 完整项目 插件 出名框架 其他 好的文章 收集android上开源的酷炫的交互动画和视觉

59.Android开源项目及库 (转)

转载 : https://github.com/Tim9Liu9/TimLiu-Android?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io#%E5%8D%AB%E6%98%9F%E8%8F%9C%E5%8D%95 目录 UI UI 卫星菜单 节选器 下拉刷新 模糊效果 HUD与Toast 进度条 UI其它 动画 网络相关 响应式编程 地图 数据库 图像浏览及处理 视频音频处理 测试及调试 动态更新热更新 消息推送

66.Android 开源项目分类汇总

转载:https://github.com/Trinea/android-open-project 目前包括: Android 开源项目第一篇——个性化控件(View)篇  包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipView.ColorPickView.GraphView.UI Style.其他Android

优秀的 Android 开源项目

摘要  转载http://www.trinea.cn/android/android-open-source-projects-view/,方便大家找到自己合适的资料 目录[-] 一.ListView 二.ActionBar 三.Menu 四.ViewPager .Gallery 五.GridView 六.ImageView 七.ProgressBar 八.其他 GitHub上优秀Android开源项目 3. Android开发神器 1.Xabber客户端 2.oschina客户端 3.手机安全

GitHub 优秀的 Android 开源项目

转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包含ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar及其它如Dialog.Toast.EditText.TableView.Activity Animation等等. 一.ListView android-pulltorefresh 一个强大的拉动