显示 android 个弹出列表视图
Showing android popout listView
我正在尝试实现类似于 facebook/twitter 的功能,当您添加“@”符号时会显示用户列表。我的问题是我不知道如何实现这种弹出或浮动视图。是对话框还是片段?
android 中有一个名为 ListPopUpWindow 的东西可以解决您的问题。我在下面给出了一个示例,例如如何启动它。创建您自己的列表适配器和行 xml 文件。然后像处理 android 中的普通列表一样将其传递给 popup.setAdapter。
private void initiatePopupWindow(View anchor) {
try {
Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
ListPopupWindow popup = new ListPopupWindow(this);
popup.setAnchorView(anchor);
popup.setWidth((int) (display.getWidth()/(1.5)));
popup.setAdapter(new CustomAdapterForService(getApplicationContext(), R.layout.rowforservice, listCity));
popup.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View view, int position, long id3) {
//do what you need to do when you click on a popup list item
}
});
popup.show();
} catch (Exception e) {
e.printStackTrace();
}
}
最后从每个你需要调用它的地方,用锚点调用它。锚点是视图,可能是按钮或图像或您需要弹出列表的地方。就这样。
initiatePopupWindow(yourOwnView)
这对我有用。如果有任何问题,请随时询问。谢谢
我正在尝试实现类似于 facebook/twitter 的功能,当您添加“@”符号时会显示用户列表。我的问题是我不知道如何实现这种弹出或浮动视图。是对话框还是片段?
android 中有一个名为 ListPopUpWindow 的东西可以解决您的问题。我在下面给出了一个示例,例如如何启动它。创建您自己的列表适配器和行 xml 文件。然后像处理 android 中的普通列表一样将其传递给 popup.setAdapter。
private void initiatePopupWindow(View anchor) {
try {
Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
ListPopupWindow popup = new ListPopupWindow(this);
popup.setAnchorView(anchor);
popup.setWidth((int) (display.getWidth()/(1.5)));
popup.setAdapter(new CustomAdapterForService(getApplicationContext(), R.layout.rowforservice, listCity));
popup.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View view, int position, long id3) {
//do what you need to do when you click on a popup list item
}
});
popup.show();
} catch (Exception e) {
e.printStackTrace();
}
}
最后从每个你需要调用它的地方,用锚点调用它。锚点是视图,可能是按钮或图像或您需要弹出列表的地方。就这样。
initiatePopupWindow(yourOwnView)
这对我有用。如果有任何问题,请随时询问。谢谢