android 半透明Menu效果
- 源码大小:62.09 KB
- 源码语言:简体中文
- 版本号:2.2
- 人气指数:0
- 源码作者:不详
- 源码平台:Android 2.2
- 源码评级:★★★☆☆
- 发布时间:2011-05-10
-
代码介绍: 分解一下:
1. 利用Shaper设置一个半透明圆角背景
2. 定义Menu布局,主要就GridView,把图标都放在这个GridView
3. Menu事件, 通过PopupWindow或者AlertDialog或者透明Activity显示到页面即可。
4. 按钮的监听事件,实例中没加。需要的话自己在Adapter里加
比较简单,不多说了。
半透明圆角背景:
<?xml version="1.0" encoding="UTF-8"?><shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#b4000000" /> <stroke android:width="2.0dip" android:color="#b4ffffff" android:dashWidth="3.0dip" android:dashGap="0.0dip" /> <padding android:left="7.0dip" android:top="7.0dip" android:right="7.0dip" android:bottom="7.0dip" /> <corners android:radius="8.0dip" /></shape>
Menu布局:
<?xml version="1.0" encoding="UTF-8"?><LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <GridView android:gravity="center" android:layout_gravity="center" android:id="@+id/menuGridChange" android:background="@drawable/menu_bg_frame" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:horizontalSpacing="10.0dip" android:verticalSpacing="3.0dip" android:stretchMode="columnWidth" android:columnWidth="60.0dip" android:numColumns="auto_fit" xmlns:android="http://schemas.android.com/apk/res/android" /></LinearLayout>
主要类:
package com.yfz;import android.app.Activity;import android.app.AlertDialog;import android.app.AlertDialog.Builder;import android.content.Context;import android.graphics.drawable.BitmapDrawable;import android.os.Bundle;import android.util.Log;import android.view.ContextMenu;import android.view.Gravity;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.view.ContextMenu.ContextMenuInfo;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.PopupWindow;import android.widget.TextVie