<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="#DA4F30"    android:cacheColorHint="#000000"    android:orientation="vertical" >    <ListView        android:id="@+id/lv_dialog"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:cacheColorHint="#00000000"        android:scrollbars="none"        android:overScrollMode="never">    </ListView></LinearLayout>

package com.example.showpop;import android.app.Activity;import android.content.Context;import android.graphics.drawable.BitmapDrawable;import android.os.Bundle;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.Window;import android.view.WindowManager;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.PopupWindow;public class MainActivity extends Activity {private LinearLayout layout;private ListView listView;private PopupWindow popupWindow;private String title[] = { "1", "2", "3", "4", "5" };private  ImageView imageView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);imageView=(ImageView) findViewById(R.id.imageview_above_more);imageView.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {showPopupWindow(imageView);}});}public void showPopupWindow(View parent) {//加载布局layout = (LinearLayout) LayoutInflater.from(MainActivity.this).inflate(R.layout.dialog, null);//找到布局的控件listView = (ListView) layout.findViewById(R.id.lv_dialog);//设置适配器listView.setAdapter(new ArrayAdapter<String>(MainActivity.this,R.layout.text, R.id.tv_text, title));// 实例化popupWindowpopupWindow = new PopupWindow(layout, 300,500);//控制键盘是否可以获得焦点popupWindow.setFocusable(true);//设置popupWindow弹出窗体的背景popupWindow.setBackgroundDrawable(new BitmapDrawable(null,""));WindowManager manager=(WindowManager) getSystemService(Context.WINDOW_SERVICE);@SuppressWarnings("deprecation")//获取xoffint xpos=manager.getDefaultDisplay().getWidth()/2-popupWindow.getWidth()/2;//xoff,yoff基于anchor的左下角进行偏移。popupWindow.showAsDropDown(parent,xpos, 0);//监听listView.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {//关闭popupWindowpopupWindow.dismiss();popupWindow = null;}});}}
源码下载地址

更多相关文章

  1. Android(安卓)贝塞尔曲线,撒花了
  2. Android(安卓)getWindow().setFlags方法
  3. Android(安卓)修改TabLayout设置文字大小一致
  4. android RecyclerView 设置设置选中的一行的内容
  5. Android(安卓)getWindow().setFlags方法
  6. Android连接网络问题
  7. [转]Android(安卓)Opengl - Colored 3D Cube
  8. Android(安卓)打造任意层级树形控件 考验你的数据结构和设计
  9. Android及Robotium学习总结【环境变量,真机调试及根据id模拟按键

随机推荐

  1. 2011.07.04——— android activity切换
  2. android获取手机信息大全
  3. android > 控件 > RadioGroup
  4. sparseArray
  5. android读写XML
  6. Android SurfaceView 的基本应用
  7. 改变ToggleButton的图片
  8. Android 文件存储 和 权限管理
  9. Android设置支持多种分辨率
  10. android中去掉listview某人选中高亮状态