我正在尝试实现类似于 facebook/twitter 的功能,当您添加“@”符号时会显示用户列表。我的问题是我不知道如何实现这种弹出或浮动视图。是对话框还是片段?
问问题
201 次
1 回答
1
android中有一个叫做ListPopUpWindow的东西可以解决你的问题。我在下面给出了一个示例,例如如何启动它。创建您自己的列表适配器和行 xml 文件。然后将其传递给 popup.setAdapter,就像您在 android 中处理普通列表的方式一样。
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();
}
}
最后,从每个你需要调用它的地方,用 Anchor 调用它。锚点是视图,可能是按钮或图像或您需要从中弹出列表的东西。像这样。
initiatePopupWindow(yourOwnView)
这对我有用。如果有任何问题随时问。谢谢。
于 2015-05-06T05:00:14.597 回答