首页 Android 优酷环形菜单-安卓

优酷环形菜单-安卓

  代码如下 package com.yq1012.youku; import android.support…

 

代码如下

package com.yq1012.youku;

import android.support.v4.app.Fragment;

import android.transition.ChangeBounds;

import android.app.Activity;

import android.os.Bundle;

import android.view.KeyEvent;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.ViewGroup;

import android.widget.ImageView;

import android.widget.RelativeLayout;

import android.os.Build;

public class MainActivity extends Activity implements OnClickListener {

    private boolean isLever2Show = true;

    private boolean isLever3Show = true;

    private boolean isLever1Show = true;

    private ImageView icon_menu;

    private ImageView icon_home;

    private RelativeLayout level1;

    private RelativeLayout level2;

    private RelativeLayout level3;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        icon_menu = (ImageView) findViewById(R.id.iv_menu);

        icon_home = (ImageView) findViewById(R.id.iv_home);

        level1 = (RelativeLayout) findViewById(R.id.rl_level1);

        level2 = (RelativeLayout) findViewById(R.id.rl_level2);

        level3 = (RelativeLayout) findViewById(R.id.rl_level3);

        icon_menu.setOnClickListener(this);

        icon_home.setOnClickListener(this);

    }

    @Override

    public void onClick(View v) {

        switch (v.getId()) {

        case R.id.iv_menu:

            if (isLever3Show) {

                // 如果是 3级菜单是显示 就隐藏

                MyUtil.startAnimOut(level3);

            } else {

                // 隐藏 。。

                MyUtil.startAnimIn(level3);

            }

            isLever3Show = !isLever3Show;

            break;

        case R.id.iv_home:

            if (isLever2Show) {

                // 如果是 3级菜单是显示 就隐藏

                MyUtil.startAnimOut(level2);

                isLever2Show = false;

                if (isLever3Show) {// 存在的第3级也在将其隐藏

                    MyUtil.startAnimOut(level3, 200);

                    isLever3Show = false;

                }

            } else {

                // 隐藏 。。

                MyUtil.startAnimIn(level2);

                isLever2Show = true;

            }

            break;

        default:

            break;

        }

    }

    @Override

    public boolean onKeyDown(int keyCode, KeyEvent event) {

        if (keyCode == KeyEvent.KEYCODE_MENU) {// 监听menu按键

            chageLevel1State();

        }

        return super.onKeyDown(keyCode, event);

    }

    /**

     *

     */

    private void chageLevel1State() {

        if (isLever1Show) {

            MyUtil.startAnimOut(level1);

            isLever1Show = false;

            if (isLever2Show) {

                MyUtil.startAnimOut(level2,200);

                isLever2Show = false;

                if (isLever3Show) {

                    MyUtil.startAnimOut(level3,100);

                    isLever3Show = false;

                }

            }

        }else{

            MyUtil.startAnimIn(level1);

            isLever1Show = true;

            MyUtil.startAnimIn(level2,200);

            isLever2Show = true;

        }

    }

}

 

界面如下

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context="com.yq1012.youku.MainActivity$PlaceholderFragment" >

    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"

        android:layout_centerVertical="true"

        android:text="@string/hello_world" />

    <RelativeLayout

        android:id="@+id/rl_level1"

        android:layout_width="90dp"

        android:layout_height="50dp"

        android:layout_alignParentBottom="true"

        android:layout_centerHorizontal="true"

        android:background="@drawable/level1"

        android:gravity="center" >

        <ImageView

            android:id="@+id/iv_home"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:src="@drawable/icon_home" />

    </RelativeLayout>

    <RelativeLayout

        android:id="@+id/rl_level2"

        android:layout_width="180dp"

        android:layout_height="90dp"

        android:layout_alignBottom="@+id/rl_level1"

        android:layout_centerHorizontal="true"

        android:background="@drawable/level2" >

        <ImageView

            android:id="@+id/iv_search"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_alignParentBottom="true"

            android:layout_margin="10dp"

            android:background="@drawable/icon_search" />

        <ImageView

            android:id="@+id/iv_menu"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_centerHorizontal="true"

            android:layout_marginTop="5dp"

            android:background="@drawable/icon_menu" />

        <ImageView

            android:id="@+id/iv_myyouku"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_alignParentBottom="true"

            android:layout_alignParentRight="true"

            android:layout_margin="10dp"

            android:background="@drawable/icon_myyouku" />

    </RelativeLayout>

    <RelativeLayout

        android:id="@+id/rl_level3"

        android:layout_width="280dp"

        android:layout_height="140dp"

        android:layout_alignBottom="@+id/rl_level2"

        android:layout_centerHorizontal="true"

        android:background="@drawable/level3" >

        <ImageView

            android:id="@+id/channel1"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_alignParentBottom="true"

            android:layout_marginBottom="10dp"

            android:layout_marginLeft="10dp"

            android:background="@drawable/channel1" />

        <ImageView

            android:id="@+id/channel2"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_above="@id/channel1"

            android:layout_alignLeft="@id/channel1"

            android:layout_marginBottom="10dp"

            android:layout_marginLeft="20dp"

            android:background="@drawable/channel2" />

        <ImageView

            android:id="@+id/channel4"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_centerHorizontal="true"

            android:layout_marginTop="5dp"

            android:src="@drawable/channel4" />

        <ImageView

            android:id="@+id/channel7"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_alignParentBottom="true"

            android:layout_alignParentRight="true"

            android:layout_marginBottom="10dp"

            android:layout_marginRight="10dp"

            android:background="@drawable/channel7" />

        <ImageView

            android:id="@+id/channel6"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_above="@id/channel7"

            android:layout_alignRight="@id/channel7"

            android:layout_marginBottom="10dp"

            android:layout_marginRight="20dp"

            android:background="@drawable/channel6" />

        <ImageView

            android:id="@+id/channel5"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_above="@+id/channel6"

            android:layout_toLeftOf="@+id/channel6"

            android:background="@drawable/channel5" />

        <ImageView

            android:id="@+id/channel3"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_alignTop="@+id/channel5"

            android:layout_toRightOf="@+id/channel2"

            android:background="@drawable/channel3" />

    </RelativeLayout>

</RelativeLayout>

 

这个界面很适合熟练 RelativeLayout

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

android studio查看android手机日志

android studio查看android手机日志

本文在尝试了,使用adb,eclipse查看log未果之后,使用android studio来查看unity打包的apk...
Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check t

Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check t

在android高版本开发环境(sdk 4.4)导入低版本(sdk 3.0)的工程时编译报错,报错信息如:Convers...
用Bundle和直接用Intent.putExtra(“xx”,yy)传递有什么不同

用Bundle和直接用Intent.putExtra(“xx”,yy)传递有什么不同

QQ群里一个提出来了 。。长知识了。。 Intent intent = new Intent(); intent.put...
Universal-Image-Loader解析——DisplayImageOptions的详细配置

Universal-Image-Loader解析——DisplayImageOptions的详细配置

在使用这个框架的时候,我们必须要配置一个DisplayImageOptions对象来作为ImageLoader.getI...
安卓测试环境的配置

安卓测试环境的配置

AndroidManifest.xml 配置 <uses-permission android:name="and...
返回顶部