2017-05-06 234 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); 

我刪除了這個,現在一切正常!希望這會幫助別人! :)