0818b9ca8b590ca3270a3433284dd417.png

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="#DA4F30"

android:cacheColorHint="#000000"

android:orientation="vertical" >

android:id="@+id/lv_dialog"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:cacheColorHint="#00000000"

android:scrollbars="none"

android:overScrollMode="never">

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;

@Override

protected 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() {

@Override

public 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(MainActivity.this,

R.layout.text, R.id.tv_text, title));

// 实例化popupWindow

popupWindow = new PopupWindow(layout, 300,500);

//控制键盘是否可以获得焦点

popupWindow.setFocusable(true);

//设置popupWindow弹出窗体的背景

popupWindow.setBackgroundDrawable(new BitmapDrawable(null,""));

WindowManager manager=(WindowManager) getSystemService(Context.WINDOW_SERVICE);

@SuppressWarnings("deprecation")

//获取xoff

int xpos=manager.getDefaultDisplay().getWidth()/2-popupWindow.getWidth()/2;

//xoff,yoff基于anchor的左下角进行偏移。

popupWindow.showAsDropDown(parent,xpos, 0);

//监听

listView.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView> arg0, View arg1, int arg2,

long arg3) {

//关闭popupWindow

popupWindow.dismiss();

popupWindow = null;

}

});

}

}

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐