PopWindow的实现功能

来源:互联网 发布:bfprt算法 编辑:程序博客网 时间:2024/05/12 01:25
public class Main extends Activity {PopupWindow popupWindow;Button showButton;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);showButton=(Button)findViewById(R.id.button);showButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {LinearLayout l=new LinearLayout(Main.this);l.setBackgroundColor(Color.GRAY);    TextView textView=new TextView(Main.this);    textView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));    textView.setText("删除");      textView.setGravity(Gravity.CENTER);    textView.setTextColor(Color.WHITE);      l.addView(textView);     popupWindow=new PopupWindow(l, 180, LayoutParams.WRAP_CONTENT);    popupWindow.setFocusable(true); //必须获得焦点     //pop窗口必须设置背景 后触摸pop窗口外部才能让pop窗口消失    popupWindow.setBackgroundDrawable(Main.this.getResources().getDrawable(android.R.color.transparent));//    popupWindow.setOutsideTouchable(true);          int[] location = new int[2];    showButton.getLocationOnScreen(location);//获取控件在整个屏幕中的坐标        //在控件的右边          //popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0]+v.getWidth(), location[1]);     //在控件的左边          //popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0]-popupWindow.getWidth(), location[1]);     //在控件的上方    //popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0], location[1]-popupWindow.getHeight()); popupWindow.showAsDropDown(showButton);textView.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {popupWindow.dismiss();}});}});}    }

0 0