实现效果,如下图。
xml布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:gravity="center_horizontal"    android:orientation="vertical" >    <LinearLayout        xmlns:android="http://schemas.android.com/apk/res/android"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:orientation="horizontal" >        <LinearLayout            xmlns:android="http://schemas.android.com/apk/res/android"            android:layout_width="@dimen/layout_size"            android:layout_height="@dimen/layout_size"            android:orientation="vertical" >            <ImageView                android:layout_width="@dimen/icon_size"                android:layout_height="@dimen/icon_size"                android:layout_gravity="center"                android:layout_marginTop="@dimen/icon_margin_top"                android:background="@drawable/menu_sharepage" />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_gravity="center"                android:text="分享好友"                android:textColor="#FFF"                android:textSize="@dimen/text_size_ten" />        </LinearLayout>        <LinearLayout            xmlns:android="http://schemas.android.com/apk/res/android"            android:layout_width="@dimen/layout_size"            android:layout_height="@dimen/layout_size"            android:orientation="vertical" >            <ImageView                android:layout_width="@dimen/icon_size"                android:layout_height="@dimen/icon_size"                android:layout_gravity="center"                android:layout_marginTop="@dimen/icon_margin_top"                android:background="@drawable/menu_bookmark" />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_gravity="center"                android:text="意见反馈"                android:textColor="#FFF"                android:textSize="@dimen/text_size_ten" />        </LinearLayout>        <LinearLayout            xmlns:android="http://schemas.android.com/apk/res/android"            android:layout_width="@dimen/layout_size"            android:layout_height="@dimen/layout_size"            android:orientation="vertical" >            <ImageView                android:layout_width="@dimen/icon_size"                android:layout_height="@dimen/icon_size"                android:layout_gravity="center"                android:layout_marginTop="@dimen/icon_margin_top"                android:background="@drawable/menu_bookmark_sync_import" />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_gravity="center"                android:text="版本更新"                android:textColor="#FFF"                android:textSize="@dimen/text_size_ten" />        </LinearLayout>        <LinearLayout            xmlns:android="http://schemas.android.com/apk/res/android"            android:layout_width="@dimen/layout_size"            android:layout_height="@dimen/layout_size"            android:orientation="vertical" >            <ImageView                android:layout_width="@dimen/icon_size"                android:layout_height="@dimen/icon_size"                android:layout_gravity="center"                android:layout_marginTop="@dimen/icon_margin_top"                android:background="@drawable/menu_about" />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_gravity="center"                android:text="关于"                android:textColor="#FFF"                android:textSize="@dimen/text_size_ten" />        </LinearLayout>    </LinearLayout>        <!-- 第二排 -->    <LinearLayout        xmlns:android="http://schemas.android.com/apk/res/android"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:orientation="horizontal" >        <LinearLayout            xmlns:android="http://schemas.android.com/apk/res/android"            android:layout_width="@dimen/layout_size"            android:layout_height="@dimen/layout_size"            android:orientation="vertical" >            <ImageView                android:layout_width="@dimen/icon_size"                android:layout_height="@dimen/icon_size"                android:layout_gravity="center"                android:background="@drawable/menu_quit" />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_gravity="center"                android:text="退出"                android:textColor="#FFF"                android:textSize="@dimen/text_size_ten" />        </LinearLayout>         <LinearLayout            xmlns:android="http://schemas.android.com/apk/res/android"            android:layout_width="@dimen/layout_size"            android:layout_height="@dimen/layout_size"            android:orientation="vertical" >            <ImageView                android:layout_width="@dimen/icon_size"                android:layout_height="@dimen/icon_size"                android:layout_gravity="center"                />        </LinearLayout>         <LinearLayout            xmlns:android="http://schemas.android.com/apk/res/android"            android:layout_width="@dimen/layout_size"            android:layout_height="@dimen/layout_size"            android:orientation="vertical" >              <ImageView                android:layout_width="@dimen/icon_size"                android:layout_height="@dimen/icon_size"                android:layout_gravity="center"                />        </LinearLayout>         <LinearLayout            xmlns:android="http://schemas.android.com/apk/res/android"            android:layout_width="@dimen/layout_size"            android:layout_height="@dimen/layout_size"            android:orientation="vertical" >              <ImageView                android:layout_width="@dimen/icon_size"                android:layout_height="@dimen/icon_size"                android:layout_gravity="center"                />        </LinearLayout>    </LinearLayout></LinearLayout>


java文件
import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.PopupWindow;import android.widget.PopupWindow.OnDismissListener;public class MainActivity extends Activity{private boolean isOpenPop = false;private PopupWindow window;private Button moreBtn;@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);moreBtn = (Button) findViewById(R.id.btn);moreBtn.setOnClickListener(new OnClickListener(){public void onClick(View v){changPopState(v);}});}/** * 更改Pop状态 * */public void changPopState(View v){isOpenPop = !isOpenPop;if (isOpenPop){//arrow.setBackgroundResource(R.drawable.icon_arrow_up);popAwindow(v);} else{//arrow.setBackgroundResource(R.drawable.icon_arrow_down);if (window != null){window.dismiss();}}}private void popAwindow(View parent){if (window == null){LayoutInflater lay = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);View v = lay.inflate(R.layout.more_pop_item, null);int x = (int) getResources().getDimension(R.dimen.pop_x);int y = (int) getResources().getDimension(R.dimen.pop_y);window = new PopupWindow(v, x, y);}window.setBackgroundDrawable(getResources().getDrawable(R.drawable.preview_button));window.getBackground().setAlpha(150);window.setFocusable(true);window.setOutsideTouchable(false);window.setOnDismissListener(new OnDismissListener(){public void onDismiss(){isOpenPop = false;//arrow.setBackgroundResource(R.drawable.icon_arrow_down);}});window.update();window.showAtLocation(parent, Gravity.CENTER_HORIZONTAL | Gravity.TOP,0, (int) getResources().getDimension(R.dimen.pop_layout_y));}}

更多相关文章

  1. android之自定义ViewGroup和自动换行的布局的实现
  2. 自定义Android标题栏TitleBar布局
  3. Android入门:HTML布局中Android程序与JAVASCRIPT的交互
  4. Android学习笔记(1) Android 布局管理器 之 LinearLayout
  5. android上滑某个布局固定悬浮
  6. Android中CoordinatorLayout(协调布局)的使用
  7. Android 5.0新控件 AppBarLayout | 嵌套布局 介绍及使用详情
  8. 记录状态栏与布局重合,状态栏颜色问题

随机推荐

  1. Android(安卓)Animation之TranslateAnima
  2. android 图片加载和缓存开源项目 Picasso
  3. 通过PC鼠标键盘操控Android手机:androidsc
  4. 这款开源 Android(安卓)实时投屏软件是 Q
  5. android: 使用 AsyncTask
  6. Android官方开发文档Training系列课程中
  7. [Android(安卓)Training视频系列] 8.2 Ma
  8. Message Android的享元模式
  9. Android判断字符串中是否含字母、中文或
  10. Android(安卓)面试(四):Android(安卓)Servic