2016年9月7日 星期三

Android 打造炫目的圆形菜单 秒秒钟高仿建行圆形菜单

Ref :  http://blog.csdn.net/lmj623565791/article/details/43131133

1、概述

今天打开建行看存款,一看伤心欲绝,再看:我擦,这个圆形菜单挺炫。于是,为了掩盖我悲痛的心情,我决定是实现这个效果。好了,其实还有个原因,记得我初学android那会我做的应用被鄙视了,说我的菜单没有建行的好看,那么今天,证明自己的时刻到了。我决定用我做的圆形菜单的控件,32s实现个建行的菜单给他看看,顺便教教他~~
玩笑开完,直接看下效果图:














ok,这个就是我们今天的主要的效果了~~直接跟随手指滚动,直接快速滚动,直接点击Item~~~
这个效果的背景是在我在跪了2个多小时后,爱歌花了32s给我做的,再次感谢爱歌。

接下来,就是使用该控件实现建行那个圆形菜单~~

ok,分分钟搞定~~
就是有点恶心的地方,尼玛建行左边那个介绍和右边菜单的背景是两个图,想要做到无缝连在一起的效果,在我们圆形菜单的测量中还多写了几行代码,这个属于后话。

2、使用方式

简单看下使用方式,有个直观的了解

  1. package com.zhy.ccbCricleMenu;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.View;  
  6. import android.widget.Toast;  
  7.   
  8. import com.zhy.view.CircleMenuLayout;  
  9. import com.zhy.view.CircleMenuLayout.OnMenuItemClickListener;  
  10.   
  11. public class MainActivity extends Activity  
  12. {  
  13.   
  14.     private CircleMenuLayout mCircleMenuLayout;  
  15.   
  16.     private String[] mItemTexts = new String[] { "安全中心 ""特色服务""投资理财",  
  17.             "转账汇款""我的账户""信用卡" };  
  18.     private int[] mItemImgs = new int[] { R.drawable.home_mbank_1_normal,  
  19.             R.drawable.home_mbank_2_normal, R.drawable.home_mbank_3_normal,  
  20.             R.drawable.home_mbank_4_normal, R.drawable.home_mbank_5_normal,  
  21.             R.drawable.home_mbank_6_normal };  
  22.   
  23.     @Override  
  24.     protected void onCreate(Bundle savedInstanceState)  
  25.     {  
  26.         super.onCreate(savedInstanceState);  
  27.         setContentView(R.layout.activity_main02);  
  28.   
  29.         mCircleMenuLayout = (CircleMenuLayout) findViewById(R.id.id_menulayout);  
  30.         mCircleMenuLayout.setMenuItemIconsAndTexts(mItemImgs, mItemTexts);  
  31.           
  32.           
  33.   
  34.         mCircleMenuLayout.setOnMenuItemClickListener(new OnMenuItemClickListener()  
  35.         {  
  36.               
  37.             @Override  
  38.             public void itemClick(View view, int pos)  
  39.             {  
  40.                 Toast.makeText(MainActivity.this, mItemTexts[pos],  
  41.                         Toast.LENGTH_SHORT).show();  
  42.   
  43.             }  
  44.               
  45.             @Override  
  46.             public void itemCenterClick(View view)  
  47.             {  
  48.                 Toast.makeText(MainActivity.this,  
  49.                         "you can do something just like ccb  ",  
  50.                         Toast.LENGTH_SHORT).show();  
  51.                   
  52.             }  
  53.         });  
  54.           
  55.     }  
  56.   
  57. }  

沒有留言:

張貼留言