satellite-menu和ArcMenu
github上的开源库其实还是很不错的,之前的时候总感觉学一些开源库比较麻烦,里边有好多方法什么的,今天终于迈出了第一步,中间也遇到了一些问题,现在总结下,也给其他刚开始学习开源库的小伙伴一些指导:
satellite-menu开源库的地址:https://github.com/siyamed/android-satellite-menu
先把这个开源库下载下来,解压,看到如下两个项目和一个README文件。

接下来把这两个项目导入Eclipse(我这里用的是Eclipse开发)
导入后一切正常,没有错误(如果有错误的话clean下就ok了),运行Package Explorer中的satellite-menu-sample,很快就可以在android设备上看到效果了,效果如下:

效果还是蛮不错的嘛,我就动手自己写了一个项目,引用了开源库satellite-menu,引用方法为:

引用完了之后呢?就开始写代码了,开始的时候可以仿照下载的example中的例子写

看着没有什么问题,我们就继续在布局文件中添加控件,由于初来乍到,唯恐在细节上担心出错,就直接从example中复制过来,不少错误

我就习惯性的clean了一下,但是还有一个错误,一直没有找到问题的所在,后来虽然发现了下面的代码
xmlns:sat="http://schemas.android.com/apk/res/android.view.ext"
我认为后边的android.view.ext是开源类库中的包名,也就没在意,在网上找了,也找到了答案,但是没有说出原因,我也就没在意,问题的确出在这个地方,这个地方填写的包名是本项目的包名,当我把包名该为我自己写的项目的包名后,再clean下,奇迹般的好了,之前没有发现这些问题,现在竟然发现了,这也是一种收货吧。
下面就开始我的开源之旅……
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:sat="http://schemas.android.com/apk/res/com.example.satellitemenudemo2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <android.view.ext.SatelliteMenu
android:id="@+id/menu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|left"
android:layout_margin="8dp"
sat:closeOnClick="true"
sat:expandDuration="500"
sat:mainImage="@drawable/ic_launcher"
sat:satelliteDistance="170dp"
sat:totalSpacingDegree="90" /> <TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|left"
android:layout_margin="8dp"
android:text="@string/app_name"/> </FrameLayout>
简单介绍下以下的几个属性:
sat:closeOnClick="true" //true:选中item后自动关闭;false:选中item后不消失
sat:expandDuration="500" //持续的时间
sat:satelliteDistance="170dp" //item距离点击menu的距离
sat:totalSpacingDegree="90" //item所占的角度
sat:mainImage="@drawable/ic_launcher" //(没发现有什么用)
参考地址:
Android卫星菜单:android-satellite-menu - OPEN 开发经验库 http://www.open-open.com/lib/view/open1390737573132.html
Unable to execute dex: Multiple dex files define Landroid错误解决 http://www.cnblogs.com/hxxy2003/archive/2013/04/09/3009416.html
两个开源项目的研究:
siyamed/android-satellite-menu https://github.com/siyamed/android-satellite-menu
daCapricorn/ArcMenu https://github.com/daCapricorn/ArcMenu
satellite-menu和ArcMenu的更多相关文章
- 直接拿来用!最火的Android开源项目(完结篇)
直接拿来用!最火的Android开源项目(完结篇) 2014-01-06 19:59 4785人阅读 评论(1) 收藏 举报 分类: android 高手进阶教程(100) 摘要:截至目前,在GitH ...
- 直接拿来用!最火的Android开源项目(完结篇)(转)
摘要:截至目前,在GitHub“最受欢迎的开源项目”系列文章中我们已介绍了40个Android开源项目,对于如此众多的项目,你是Mark.和码友分享经验还是慨叹“活到老要学到老”?今天我们将继续介绍另 ...
- GitHub 优秀的 Android 开源项目(转)
今天查找资源时看到的一篇文章,总结了很多实用资源,十分感谢原作者分享. 转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介 ...
- 直接拿来用!最火的Android开源项目
GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上.更何况,基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要.利用这些项目,有时能够让你 ...
- GitHub 优秀的 Android 开源项目
转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包括ListView.ActionBar.M ...
- GitHub上不错的Android开源项目(三)
收集相关系列资料,自己用作参考,练习和实践.小伙伴们,总有一天,你也能写出 Niubility 的 Android App :-) GitHub上不错的Android开源项目(一):http://ww ...
- 转__Android开源项目(三 完结篇)
http://www.csdn.net/article/2013-05-21/2815370-Android-open-source-projects-finale/1 截至目前,在GitHub“最受 ...
- CSDN首页> 移动开发 直接拿来用!最火的Android开源项目(完结篇)
此前,CSDN移动频道推出的GitHub平台上“最受欢迎的开源项目”系列文章引发了许多读者的热议,在“直接拿来用!最火的Android开源项目”系列文章(一).(二)中,我们也相继盘点了40个GitH ...
- android的快速开发框架集合
出自:http://blog.csdn.net/shulianghan/article/details/18046021 1.Afinal (快速开发框架) 简介:http://www.oschin ...
- GitHub 优秀Android 开源项目
阅读目录 1.Xabber客户端 2.oschina客户端 3.手机安全管家 4.星座连萌 5.玲闹铃 6.魔乐盒 7.PWP日历 8.Apollo音乐播放器 9.夏普名片识别 10.高仿人人网 11 ...
随机推荐
- wpf msdn在线地址http://msdn.microsoft.com/zh-cn/library/ms752324(v=vs.110).aspx
http://msdn.microsoft.com/zh-cn/library/ms752324(v=vs.110).aspx
- squid服务搭建
Squid配置1. 什么是squidsquid可以做代理也可以做缓存squid缓存不仅可以节省宝贵的带宽资源,也可以大大降低服务器的I/O. squid不仅可以做正向代理,又可以做反向代理. 正向代 ...
- Gridview 多重表头 (二)
多重表头之排序 这是个有点忧桑的故事...Cynthia告诉我,研究一个问题,我们不可能有超过一天的时间... 结果好好几天过去鸟~~还没有完成... 由于不再使用Gridview自带的表头行,于是无 ...
- log4net使用简介
平常我们在开发网站时,有一些比较重要的地方需要添加日志记录.一般日志记录分为两种:1)在数据库中添加一张日志表,用来记录用户操作并给用户提醒(用户可以看到). 2)在系统中添加一个日志文件,用来记录一 ...
- GridView事件DataBinding,DataBound,RowCreated,RowDataBound区别及执行顺序分析
严格的说,DataBinding,DataBound并不是GridView特有的事件,其他的控件诸如ListBox等也有DataBinding,DataBound事件. DataBinding事件MS ...
- Android系统五大布局详解Layout
我们知道Android系统应用程序一般是由多个Activity组成,而这些Activity以视图的形式展现在我们面前, 视图都是由一个一个的组件构成的.组件就是我们常见的Button.TextEdit ...
- C++标准程序库读书笔记-第四章通用工具
1.Pairs(对组) (1)class pair可以将两个值视为一个单元.任何函数需返回两个值,也需要pair. (2)便捷地创建pair对象可以使用make_pair函数 std::make_pa ...
- MFC CSplitterWnd的用法
用MFC开发一个软件界面中需要拆分多个试图窗口时,使用CSplitterWnd类 CSplitterWnd类主要用在创建一个拆分试图窗口.通常嵌入在框架窗口中(CMainFrame) 创建步骤: 1 ...
- Windows下安装PHP扩展及资源下载地址(memcached为例)
官方下载的php安装包ext目录里以经包含了常用的php扩展,但某些情况下并不能满足我们项目需求,比如memcache扩展就不在官方的php安装包里.这时就需要我们自己去下载安装. 本文列出php官方 ...
- 【搜索引擎Jediael开发笔记1】搜索引擎初步介绍及网络爬虫
详细可参考 (1)书箱:<这就是搜索引擎><自己动手写网络爬虫><解密搜索引擎打桩实践> (2)[搜索引擎基础知识1]搜索引擎的技术架构 (3)[搜索引擎基础知识2 ...