Android Material Design:ListPopupWindow
16lz
2021-01-23
Android Material Design:ListPopupWindow
Android Material Design引入的ListPopupWindow,首先是一个PopupWindow,不过此PopupWindow内嵌一个List,给予此List设置一个Adapter,就相当Android为开发者做好了一个内置ListView的PopupWindows。
如图所示:
给出上述效果的代码实现:
package zhangphil.materialdesign;import android.app.Activity;import android.os.Bundle;import android.support.v7.widget.ListPopupWindow;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);final Button button = (Button) findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {showListPopupWindow(button);}});}public void showListPopupWindow(View view) {String items[] = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };ListPopupWindow listPopupWindow = new ListPopupWindow(this);// ListView适配器listPopupWindow.setAdapter(new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, items));// 选择item的监听事件listPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int pos, long id) {Toast.makeText(getApplicationContext(), "选择:" + pos, Toast.LENGTH_SHORT).show();// listPopupWindow.dismiss();}});// 对话框的宽高listPopupWindow.setWidth(500);listPopupWindow.setHeight(600);// ListPopupWindow的锚,弹出框的位置是相对当前View的位置listPopupWindow.setAnchorView(view);// ListPopupWindow 距锚view的距离listPopupWindow.setHorizontalOffset(50);listPopupWindow.setVerticalOffset(100);listPopupWindow.setModal(false);listPopupWindow.show();}}
activity_main.xml只是一个仅仅含有一个Button的布局,Button用于触发、弹出ListPopupWindow,不在此赘述。
更多相关文章
- Android--取得控件在手机屏幕上的位置
- Android LBS系列04 位置和地图服务简介
- 在Android中使用HTML5本地存储,地理位置,离线应用
- adroid 现行布局水平居中位置
- 使用Android提供的模拟任意地理位置,报java.lang.IllegalArgument
- 可折叠的列表ExpandableListView及其适配器
- 【Mood-11】值得学习的国内外Android开发者信息
- [置顶] Android中万能适配器
- Android学习心得(六)——位置服务