其实像ListPopupWindow、PopupMenu的用法大致和PopupWindow的一样!就不讲了,相信用过PopupWindow的看一下就能明白。

先上个效果图:

ListPopupWindow可以用在下拉列表、查询结果显示、历史记录、提示输入等,当然PopupMenu也可以的。

直接贴代码吧:

public class MainActivity extends ActionBarActivity {
private EditText mEditText;
private ListPopupWindow mListPop;
private List<String> lists = new ArrayList<String>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lists.add("one");
        lists.add("two");
        lists.add("three");
        mEditText = (EditText) findViewById(R.id.editText1);
        mListPop = new ListPopupWindow(this);
        mListPop.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, lists));
        mListPop.setWidth(LayoutParams.WRAP_CONTENT);
        mListPop.setHeight(LayoutParams.WRAP_CONTENT);
        mListPop.setAnchorView(mEditText);//设置ListPopupWindow的锚点,即关联PopupWindow的显示位置和这个锚点
        mListPop.setModal(true);//设置是否是模式
        mListPop.setOnItemClickListener(new OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				mEditText.setText(lists.get(position));
				mListPop.dismiss();
			}
		});
        mEditText.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				mListPop.show();
			}
		});
    }

}

布局文件就一个EditText控件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.listpopupwindow.MainActivity" >
    <EditText
        android:id="@+id/editText1"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:ems="10" >
    </EditText>

</RelativeLayout>
转载请注明出处——http://blog.csdn.net/u010687392

最新文章

  1. ZeroMQ接口函数之 :zmq_version – 返回ZMQ链接库的版本
  2. PHP中使用cURL实现Get和Post请求的方法
  3. C# 文件操作 把文件读取到字节数组
  4. SharePoint 2013 报:网站在改进过程中处于只读状态,对此给您带来的不便,我们深表歉意
  5. 11Mybatis_mybatis开发Dao的方法
  6. http_load的安装及使用方法
  7. scrollerView 轮番图
  8. overrides final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet 错误解决
  9. C#中获得汉字的首拼音(加强版)
  10. android 监听短信数据库,制作短信控制工具,控制别人的手机!!(一)
  11. Arraylist动态扩容详解
  12. 习题 7-2 uva225(回溯)
  13. Python_查找员工信息-48
  14. Autoit3操作网页实现自动化
  15. Network-Emulator&#160;Network-Emulator-Toolkit网络模拟器使用详细介绍
  16. SSD win7优化步骤
  17. C# 用反射动态绑定事件
  18. Android-Java构造代码块&amp;构造方法隐式三行
  19. Debian use sudo
  20. 笔记本wifi热点设置好后,手机连上但不能上网问题

热门文章

  1. ESLint规范
  2. Xcode8 添加PCH文件
  3. pycharm和shell中的sys.path不一样
  4. js修改伪类元素样式
  5. 从 python 中 axis 参数直觉解释 到 CNN 中 BatchNorm 的工作方式(Keras代码示意)
  6. java web中filter分析
  7. map函数用法详解
  8. Go 语言函数闭包
  9. Docker 控制组
  10. 状态模式、职责链模式——省去if-else的繁琐结构