您的位置:首页 > 产品设计 > 产品经理

PopUpWindow与PopUpMenu

2015-09-26 09:36 585 查看
PopUpWwindow

package com.example.demo;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.ListView;

import android.widget.PopupWindow;

import android.widget.TextView;

public class MainActivity extends Activity {

private TextView tv;
private Button bt;
private ListView lv;
private List<String> l;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView)findViewById(R.id.tv);
bt=(Button)findViewById(R.id.bt);
lv=new ListView(this);
l=new ArrayList<String>();
for(int i=0;i<33;i++){
l.add(i+"");
}
ArrayAdapter adapter=new ArrayAdapter(this, android.R.layout.simple_list_item_1,l);
lv.setAdapter(adapter);
bt.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
/**
*  // 弹出式的窗口(弹出式下拉框),PopupWindow,“泡泡”
// contentView:内容视图,弹出窗口锁包含的视图
// width:PopupWindow的宽度
// height:PopupWindow的高度
*/
PopupWindow pw=new PopupWindow(lv,ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
// 如果不设置PopupWindow的背景,无论是点击外部区域还是Back键都无法dismiss弹框
//pw.setBackgroundDrawable(getResources().getDrawable(R.drawable.back));
pw.setBackgroundDrawable(new BitmapDrawable());
// 让PopupWindow获得焦点e
// Popupwindow挂载到哪一个控件上
// 相对于EditText在x轴和y轴的偏移量
popupWindow.setOutsideTouchable(true);
pw.setFocusable(true);
pw.showAsDropDown(tv,0,0);

//也可以在指定位置显示弹窗
pw.showAtLocation(parent, gravity, x, y)

}
});
lv.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
tv.setText(l.get(position));

}
});
}


}

】PopUpMenu

package com.example.kk;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.PopupMenu;

public class MainActivity extends Activity {

private Button bt;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

bt=(Button)findViewById(R.id.bt);
bt.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
/**
* v:让PopupMenu与v关联
*/

PopupMenu pm=new PopupMenu(MainActivity.this, v);
getMenuInflater().inflate(R.menu.main, pm.getMenu());
pm.show();

}
});

}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: