Android CircleMenu:旋转转盘选择Menu

Android CircleMenu是一个可以自由旋转类似转盘样式的选择Menu。其运行效果如动态图所示:

这在中国建设银行官方的APP中有用到该技术,下图这是中国建设银行官方APP的首页,其中的转盘明显就是一个Android CircleMenu:

Android CircleMenu在github上的项目主页是:https://github.com/zhangphil/Android-CircleMenu
Android CircleMenu用法比较简单,例如Java代码:

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;import com.szugyi.circlemenu.view.CircleImageView;
import com.szugyi.circlemenu.view.CircleLayout;
import com.szugyi.circlemenu.view.CircleLayout.OnItemClickListener;
import com.szugyi.circlemenu.view.CircleLayout.OnItemSelectedListener;public class MainActivity extends Activity implements OnItemSelectedListener, OnItemClickListener{private TextView selectedTextView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);CircleLayout circleMenu = (CircleLayout)findViewById(R.id.main_circle_layout);circleMenu.setOnItemSelectedListener(this);circleMenu.setOnItemClickListener(this);//这个TextView仅仅作为演示转盘按钮以何为默认的选中项,//默认的最底部的那一条被选中,然后显示到该TextView中。selectedTextView = (TextView)findViewById(R.id.main_selected_textView);selectedTextView.setText(((CircleImageView)circleMenu.getSelectedItem()).getName());}//圆盘转动到底部,则认为该条目被选中@Overridepublic void onItemSelected(View view, int position, long id, String name) {      selectedTextView.setText(name);}//选择了转盘中的某一条。@Overridepublic void onItemClick(View view, int position, long id, String name) {Toast.makeText(getApplicationContext(), getResources().getString(R.string.start_app) + " " + name, Toast.LENGTH_SHORT).show();}
}

布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:circle="http://schemas.android.com/apk/res/com.szugyi.circlemenu"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity" ><com.szugyi.circlemenu.view.CircleLayoutandroid:id="@+id/main_circle_layout"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_above="@+id/main_selected_textView"android:layout_gravity="center_horizontal"circle:firstChildPosition="South" circle:rotateToCenter="true" circle:isRotating="true" >
<!--         circle:circleBackground="@drawable/green"  > --><com.szugyi.circlemenu.view.CircleImageViewandroid:id="@+id/main_facebook_image"android:layout_width="35dp"android:layout_height="35dp"android:src="@drawable/icon_facebook"circle:name="@string/facebook" /><com.szugyi.circlemenu.view.CircleImageViewandroid:id="@+id/main_myspace_image"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/icon_myspace"circle:name="@string/myspace" /><com.szugyi.circlemenu.view.CircleImageViewandroid:id="@+id/main_google_image"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/icon_google"circle:name="@string/google" /><com.szugyi.circlemenu.view.CircleImageViewandroid:id="@+id/main_linkedin_image"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/icon_linkedin"circle:name="@string/linkedin" /><com.szugyi.circlemenu.view.CircleImageViewandroid:id="@+id/main_twitter_image"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/icon_twitter"circle:name="@string/twitter" /><com.szugyi.circlemenu.view.CircleImageViewandroid:id="@+id/main_wordpress_image"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/icon_wordpress"circle:name="@string/wordpress" /></com.szugyi.circlemenu.view.CircleLayout><TextViewandroid:id="@+id/main_selected_textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_centerHorizontal="true"android:layout_marginBottom="50dp"android:textAppearance="?android:attr/textAppearanceLarge" /></RelativeLayout>

其中的Android Circle ImageView代表转盘中的图标。

Android CircleMenu:旋转转盘选择Menu相关推荐

  1. android椭圆转盘菜单,Android CircleMenu:旋转转盘选择Menu

     Android CircleMenu:旋转转盘选择Menu Android CircleMenu是一个可以自由旋转类似转盘样式的选择Menu.其运行效果如动态图所示: 这在中国建设银行官方的AP ...

  2. android 自定义旋转转盘(类似抽奖转盘)

    自定义旋转转盘在工作中也是常见的功能,下面来讲解下具体实现步骤 具体代码如下: package com.pne.custom;import android.content.Context; impor ...

  3. Android撸一个转盘抽奖

    Android撸一个转盘抽奖 前言 最近在学习的时候想做个积分转盘抽奖的功能,以前项目中使用过,但是是用的H5写的,但是我现在还不是太会写网页,就想算了,用Android写个吧!因为我这边的业务逻辑是 ...

  4. Android屏幕旋转后的变更--ConfigChange

    文章目录 1. Activity生命周期的变化 1.1 正常生命周期 1.2 屏幕旋转后重建Activity 1.3 解决数据丢失问题--onSaveInstanceState和onRestoreIn ...

  5. android裁剪图片功能,Android实现拍照、选择图片并裁剪图片功能

    一. 实现拍照.选择图片并裁剪图片效果 按照之前博客的风格,首先看下实现效果. 二. uCrop项目应用 想起之前看到的Yalantis/uCrop效果比较绚,但是研究源码之后发现在定制界面方面还是有 ...

  6. com.android.kyj.onj,Android 自学之列表选择框Spinner

    列表选择框(Spinner)与Swing编程里面的Spinner不同,这里的Spinner其实就是一个列表选项框. Spinner是ViewGroup的间接子类,因此他也可作为容器使用. Spinne ...

  7. android拍照所需的权限,eclipse --- Android拍照,相册选择图片以及Android6.0权限管理...

    [实例简介] eclipse --- Android拍照,相册选择图片以及Android6.0权限管理 [实例截图] [核心代码] camreainandroidm └── camreainandro ...

  8. android自定义大转盘,android 代码绘制转盘抽奖的实现

    android 代码绘制转盘抽奖的实现 先上图 第一个是 整体的布局 xmlns:tools="http://schemas.android.com/tools" android: ...

  9. Android 三种菜单(Menu)的实现

    一.常用方法 onCreateOptionsMenu(Menu menu) 每次Activity一创建就会执行,一般只执行一次,创建并保留Menu的实例: //获取MenuInflaterMenuIn ...

  10. 5.4 Android 的上下文菜单: Context Menu,registerForContextMenu(getListView())

    Android 的上下文菜单: Context Menu,registerForContextMenu(getListView()) Android 的上下文菜单类似于 PC 上的右键菜单.当为一个视 ...

最新文章

  1. python绘图实例-Python matplotlib基础绘图函数示例
  2. java结丹期(12)----javaweb(servletHTTPweb相关基本概念)
  3. vue 组件之间的传值
  4. BOOST_VMD_GET_TYPE宏相关的测试程序
  5. 前后端分离html ssm,前后端分离请求ssm返回数据
  6. PHP商城源码|好看的团购拼购商城源码
  7. 杨潮观《偷桃捉住东方朔》
  8. 网页传奇服务器端,拍拍科技武易传奇神鸟归来商业版+网站
  9. vue.js 带有正则选择的车牌控件组件
  10. CSS居中对齐的各种方式
  11. .NET的RulesEngine(规则引擎)使用
  12. Tomcat+Apache动静分离
  13. vCenter Server CA证书下载
  14. Java Idea设置运行内存大小(开发必备)
  15. openwrt mysql改密码_openwrt的路由器重置root密码
  16. 艰难时刻,共克时艰。
  17. 零基础学JAVA怎么学?
  18. java 第一章 > java背景,数据类型,键盘录入,标识符
  19. 点到直线的距离,垂足,对称点,两点所成的直线方程
  20. Simulink对突变信号用transfer fcn的迟滞平滑处理

热门文章

  1. 【C++】常用排序算法
  2. sping jdbc 链接mysql_java项目使用spring jdbc连接数据库
  3. 过椭圆外一点引两条切线方程_S16-2 二次曲线和圆方程
  4. Idea Debug多线程不进断点问题处理
  5. Asp.net core 学习笔记 ( OData )
  6. 178.16. cvs release
  7. springMVC对简单对象、Set、List、Map的数据绑定和常见问题(三)
  8. Oracle Active database duplication
  9. java poi 读取Excel中的手机号
  10. 14-08-08 考核试题总结~