Android中与弹出菜单兼容的后端端口的自定义样式

Android中与弹出菜单兼容的后端端口的自定义样式,android,android-support-library,Android,Android Support Library,我想创建一个弹出式菜单,如,但用于我的视图,而不是操作栏。 我试图使用它来支持旧设备。问题是我得到了运行时异常:在创建后端口弹出菜单时,必须提供布局高度属性以下是我的代码片段: // use support lib import android.support.v7.widget.PopupMenu; button = (Button) findViewById(R.id.button); button.setOnClickListener(new OnClickListener() {

我想创建一个弹出式菜单,如,但用于我的视图,而不是操作栏。 我试图使用它来支持旧设备。问题是我得到了
运行时异常:在创建后端口弹出菜单时,必须提供布局高度属性
以下是我的代码片段:

// use support lib 
import android.support.v7.widget.PopupMenu;

button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
    // Creating the instance of PopupMenu
    PopupMenu popup = new PopupMenu(MainActivity.this, button);
    // Inflating the Popup using xml file
    popup.getMenuInflater().inflate(R.menu.popup_menu,
    popup.getMenu());

    // registering popup with OnMenuItemClickListener
    popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        public boolean onMenuItemClick(MenuItem item) {
            Toast.makeText(MainActivity.this,
            "You Clicked : " + item.getTitle(),
            Toast.LENGTH_SHORT).show();
            return true;
        }
    });

    popup.show();
}
});
logcat错误:

    03-18 16:39:53.005: E/AndroidRuntime(28936): FATAL EXCEPTION: main
    03-18 16:39:53.005: E/AndroidRuntime(28936): java.lang.RuntimeException: Binary XML file line #17: You must supply a layout_height attribute.
    03-18 16:39:53.005: E/AndroidRuntime(28936):    at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:492)
    03-18 16:39:53.005: E/AndroidRuntime(28936):    at android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:6057)
    03-18 16:39:53.005: E/AndroidRuntime(28936):    at android.view.ViewGroup$MarginLayoutParams.<init>(ViewGroup.java:6225)
    03-18 16:39:53.005: E/AndroidRuntime(28936):    at android.widget.FrameLayout$LayoutParams.<init>(FrameLayout.java:610)
    03-18 16:39:53.005: E/AndroidRuntime(28936):    at android.widget.FrameLayout.generateLayoutParams(FrameLayout.java:554)
    03-18 16:39:53.005: E/AndroidRuntime(28936):    at android.widget.FrameLayout.generateLayoutParams(FrameLayout.java:56)
    03-18 16:39:53.005: E/AndroidRuntime(28936):    at android.view.LayoutInflater.inflate(LayoutInflater.java:486)
    03-18 16:39:53.005: E/AndroidRuntime(28936):    at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
    03-18 16:39:53.005: E/AndroidRuntime(28936):    at android.support.v7.internal.view.menu.MenuPopupHelper$MenuAdapter.getView(MenuPopupHelper.java:335)
    03-18 16:39:53.005: E/AndroidRuntime(28936):    at android.support.v7.internal.view.menu.MenuPopupHelper.measureContentWidth(MenuPopupHelper.java:190)
    03-18 16:39:53.005: E/AndroidRuntime(28936):    at android.support.v7.internal.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:128)
    03-18 16:39:53.005: E/AndroidRuntime(28936):    at android.support.v7.internal.view.menu.MenuPopupHelper.show(MenuPopupHelper.java:102)
    03-18 16:39:53.005: E/AndroidRuntime(28936):    at android.support.v7.widget.PopupMenu.show(PopupMenu.java:108)
    03-18 16:39:53.005: E/AndroidRuntime(28936):    at com.javatpoint.popupmenu.MainActivity$1.onClick(MainActivity.java:41)
03-18 16:39:53.005:E/AndroidRuntime(28936):致命异常:main
03-18 16:39:53.005:E/AndroidRuntime(28936):java.lang.RuntimeException:二进制XML文件行#17:必须提供布局高度属性。
03-18 16:39:53.005:E/AndroidRuntime(28936):位于android.content.res.TypedArray.getLayoutDimension(TypedArray.java:492)
03-18 16:39:53.005:E/AndroidRuntime(28936):在android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:6057)
03-18 16:39:53.005:E/AndroidRuntime(28936):在android.view.ViewGroup$MarginLayoutParams(ViewGroup.java:6225)
03-18 16:39:53.005:E/AndroidRuntime(28936):位于android.widget.FrameLayout$LayoutParams(FrameLayout.java:610)
03-18 16:39:53.005:E/AndroidRuntime(28936):在android.widget.FrameLayout.generateLayoutParams(FrameLayout.java:554)
03-18 16:39:53.005:E/AndroidRuntime(28936):在android.widget.FrameLayout.generateLayoutParams(FrameLayout.java:56)
03-18 16:39:53.005:E/AndroidRuntime(28936):在android.view.LayoutInflater.inflate(LayoutInflater.java:486)
03-18 16:39:53.005:E/AndroidRuntime(28936):在android.view.LayoutInflater.inflate(LayoutInflater.java:398)
03-18 16:39:53.005:E/AndroidRuntime(28936):在android.support.v7.internal.view.menu.menupOpupAlper$MenuAdapter.getView(menupOpupAlper.java:335)
03-18 16:39:53.005:E/AndroidRuntime(28936):在android.support.v7.internal.view.menu.menupOpupPhelper.measureContentWidth(menupOpupPhelper.java:190)
03-18 16:39:53.005:E/AndroidRuntime(28936):在android.support.v7.internal.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:128)
03-18 16:39:53.005:E/AndroidRuntime(28936):在android.support.v7.internal.view.menu.MenuPopupHelper.show(MenuPopupHelper.java:102)
03-18 16:39:53.005:E/AndroidRuntime(28936):在android.support.v7.widget.PopupMenu.show(PopupMenu.java:108)上
03-18 16:39:53.005:E/AndroidRuntime(28936):位于com.javatpoint.popupmenu.MainActivity$1.onClick(MainActivity.java:41)
如何解决此错误,以及如何使用支持库为弹出菜单应用自定义样式

更新:根据将我的主题更改为
theme.AppCompat
,此错误已修复。但我仍然不知道如何自定义弹出菜单的样式。
任何帮助都将不胜感激