Android仿优酷圆形菜单学习笔记分享

2019-12-10 18:00:02王振洲
这篇文章主要为大家分享了Android仿优酷圆形菜单学习笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下  

先来看看效果:

Android,仿优酷,圆形菜单

首先来分析一下:

这个菜单可以分成三个菜单:

1.一级菜单(即最内圈那个菜单)

2.二级菜单(即中间圈那个菜单)

3.三级菜单(即最外圈那个菜单)

首先,可以将这三个菜单使用相对布局

一级菜单只有一个按钮(即home),可以控制二级和三级菜单

二级菜单有三个按钮(即menu),中间那个按钮可以控制三级菜单

三级菜单有七个按钮

那先把布局文件先写出来,采用三个相对布局(即每个菜单采用一个相对布局)

<RelativeLayout xmlns:android="http://www.easck.com/apk/res/android"
  xmlns:tools="http://www.easck.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context="com.example.youkumenu.MainActivity" >

  <!-- 三级菜单 -->

  <RelativeLayout
    android:id="@+id/level3_Rl"
    android:layout_width="220dp"
    android:layout_height="110dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:background="@drawable/level3" >

    <ImageView
      android:id="@+id/channel1"
      android:layout_marginLeft="5dp"
      android:layout_alignParentBottom="true" 
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/channel1"/>
    <ImageView
      android:id="@+id/channel2"
      android:layout_marginBottom="10dp"
      android:layout_marginLeft="25dp"
      android:layout_above="@id/channel1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/channel2"/>
    <ImageView
      android:layout_marginBottom="1dp"
      android:layout_marginLeft="52dp"
      android:layout_above="@id/channel2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/channel3"/>
    <ImageView
      android:layout_centerHorizontal="true"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/channel4"/>
    <ImageView
      android:id="@+id/channel7"
      android:layout_marginRight="5dp"
      android:layout_alignParentRight="true"
      android:layout_alignParentBottom="true" 
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/channel7"/>
    <ImageView
      android:id="@+id/channel6"
      android:layout_alignParentRight="true"
      android:layout_marginBottom="10dp"
      android:layout_marginRight="25dp"
      android:layout_above="@id/channel7"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/channel6"/>
    <ImageView
      android:layout_marginBottom="1dp"
      android:layout_marginRight="52dp"
      android:layout_alignParentRight="true"
      android:layout_above="@id/channel6"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/channel5"/>
  </RelativeLayout>

  <!-- 二级菜单 -->

  <RelativeLayout
    android:id="@+id/level2_Rl"
    android:layout_width="140dp"
    android:layout_height="70dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:background="@drawable/level2" >
    <ImageView
      android:layout_marginLeft="3dp"
      android:layout_alignParentBottom="true"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/icon_search"/>
    <ImageView
      android:id="@+id/menu_Iv"
      android:layout_centerHorizontal="true"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/icon_menu"/>
    <ImageView
      android:id="@+id/myyouku_Iv"
      android:layout_marginRight="3dp"
      android:layout_alignParentBottom="true"
      android:layout_alignParentRight="true"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/icon_myyouku"/>

  </RelativeLayout>
  <!-- 一级菜单 -->

  <RelativeLayout
    android:layout_width="80dp"
    android:layout_height="40dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:background="@drawable/level1" >

    <ImageView
      android:id="@+id/home_Iv"
      android:layout_centerInParent="true"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/icon_home" />
  </RelativeLayout>

</RelativeLayout>