【发布时间】:2015-07-10 13:25:15
【问题描述】:
我在此链接上找到了适用于 Android 的材料设计模式:https://ui8.net/product/material-ui-kit-cooking
有一个我想实现的弹出菜单。我在 Android SDK 中没有找到它。
1. 创建此弹窗的最快方法是什么?
2. 如何定位这个弹窗溢出ActionBar的导航图标?
【问题讨论】:
-
首先尝试实现
PopupMenu。
我在此链接上找到了适用于 Android 的材料设计模式:https://ui8.net/product/material-ui-kit-cooking
有一个我想实现的弹出菜单。我在 Android SDK 中没有找到它。
1. 创建此弹窗的最快方法是什么?
2. 如何定位这个弹窗溢出ActionBar的导航图标?
【问题讨论】:
PopupMenu。
你可以使用这样的东西
public class ListPopupWindowAppActivity extends Activity
implements OnItemClickListener {
EditText productName;
ListPopupWindow listPopupWindow;
String[] products={"Camera", "Laptop", "Watch","Smartphone",
"Television"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_popup_window_app);
productName = (EditText) findViewById(
R.id.product_name);
listPopupWindow = new ListPopupWindow(
ListPopupWindowAppActivity.this);
listPopupWindow.setAdapter(new ArrayAdapter(
ListPopupWindowAppActivity.this,
R.layout.list_item, products));
listPopupWindow.setAnchorView(productName);
listPopupWindow.setWidth(300);
listPopupWindow.setHeight(400);
listPopupWindow.setModal(true);
listPopupWindow.setOnItemClickListener(
ListPopupWindowAppActivity.this);
productName.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
listPopupWindow.show();
}
});
}
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
productName.setText(products[position]);
listPopupWindow.dismiss();
}
}
如果您想使用自定义行,请保留自定义适配器。希望这对某人有所帮助,如果是的话,请让我认识朋友:)
【讨论】: