【问题标题】:Show custom popup over ActionBar's navigation icon在 ActionBar 的导航图标上显示自定义弹出窗口
【发布时间】:2015-07-10 13:25:15
【问题描述】:

我在此链接上找到了适用于 Android 的材料设计模式:https://ui8.net/product/material-ui-kit-cooking
有一个我想实现的弹出菜单。我在 Android SDK 中没有找到它。
1. 创建此弹窗的最快方法是什么?
2. 如何定位这个弹窗溢出ActionBar的导航图标?

【问题讨论】:

  • 首先尝试实现PopupMenu

标签: android material-design


【解决方案1】:

你可以使用这样的东西

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();
}
}

如果您想使用自定义行,请保留自定义适配器。希望这对某人有所帮助,如果是的话,请让我认识朋友:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    相关资源
    最近更新 更多