lv_appmanager.setOnItemClickListener(new OnItemClickListener() {
@SuppressLint("NewApi")
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// 获得view的位置
int[] location = new int[2];
view.getLocationInWindow(location);
int i = location[0] + 60;
int j = location[1];
//AppInfo info = (AppInfo) lv_appmanager
//.getItemAtPosition(position);
//String packname = info.getPackname();
// tv.setText(packname);
// TextView tv = new TextView(AppManagerActivity.this);
// tv.setTextColor(Color.WHITE);
// tv.setTextSize(20);
View popupwindow = View.inflate(AppManagerActivity.this,
R.layout.popup, null);
pw = new PopupWindow(popupwindow, 230, 70);
LinearLayout ll_start = (LinearLayout) popupwindow
.findViewById(R.id.popup_start);
LinearLayout ll_install = (LinearLayout) popupwindow
.findViewById(R.id.popup_install);
LinearLayout ll_share = (LinearLayout) popupwindow
.findViewById(R.id.popup_share);
//通过settag方式把位置设置给view对象
ll_install.setTag(position);
ll_start.setTag(position);
ll_share.setTag(position);
ll_install.setOnClickListener(AppManagerActivity.this);
ll_start.setOnClickListener(AppManagerActivity.this);
ll_share.setOnClickListener(AppManagerActivity.this);
LinearLayout ll = (LinearLayout) popupwindow
.findViewById(R.id.ll_popup);
ScaleAnimation sa = new ScaleAnimation(0.0f, 1.0f, 0.0f, 1.0f);
sa.setDuration(1000);
// 一定要设置背景颜色,否则会出现很多问题
Drawable background = new ColorDrawable(Color.TRANSPARENT);
// Drawable background =
// getResources().getDrawable(R.drawable.popupbackground);
pw.setBackgroundDrawable(background);
// 第一个view参数表示要挂载的窗体
pw.showAtLocation(view, Gravity.LEFT | Gravity.TOP, i, j);
ll.startAnimation(sa);
}
});