2017-05-06 232 views
0

我想做一个弹出菜单,没有操作栏。它工作正常,但只显示一个黑色方块,并且只有触摸才能看到物品。 我尝试了很多不同的代码,但没有奏效。任何建议,请`Android弹出菜单不显示项目

代码:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setTheme(android.R.style.Theme_NoTitleBar_Fullscreen); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    getSupportActionBar().hide(); 
    ActionBar actionBar = getSupportActionBar(); 
    if (actionBar != null) { 
     actionBar.hide(); 
    } 
    setContentView(R.layout.activity_test); 

    settButton = (Button) findViewById(R.id.moresett); 
    settButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Context wrapper = new ContextThemeWrapper(Test.this, R.style.PopupMenu); 
      PopupMenu popup = new PopupMenu(wrapper, settButton); 
      popup.getMenuInflater().inflate(R.menu.sett_menu, popup.getMenu()); 

      popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { 
       @Override 
       public boolean onMenuItemClick(MenuItem item) { 
        switch (item.getItemId()){ 
         case R.id.curr_sett: 
          //some code 
          return true; 
         case R.id.change_sett: 
          //some code 
          return true; 
        } 
        return false; 
       } 
      }); 
      popup.show(); 
     } 
    }); 

` R.menu.sett_menu:

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="android:popupMenuStyle">@style/PopupMenu</item> 
</style> 


<style name="PopupMenu" parent="@android:style/Widget.PopupMenu"> 
    <item name="android:popupBackground">@android:color/white</item> 
</style> 

和menu.xml:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:id="@+id/curr_sett" 
    android:title="Current Settings"></item> 
<item android:id="@+id/change_sett" 
    android:title="Change Settings"></item> 

result image

回答

0

在你活动的布局文件检查在工具栏这个属性

app:popupTheme="@style/AppTheme.PopupOverlay" 
+0

感谢您的快速答案!我不使用工具栏和操作栏。但我尝试过,但结果仍然相同。 – lavou

0

好,我刚发现的问题(我只是说,为今后类似的问题..):

setTheme(android.R.style.Theme_NoTitleBar_Fullscreen); 

我删除了这个,现在一切正常!希望这会帮助别人! :)