참고 : 내가 시간을 검색하고 이미 유래에 의해 를 제공하는 모든 솔루션을 시도했다.변경 팝업 메뉴 배경색
테마 오버레이를 연구 중입니다. 액션 바 아이콘을 클릭하면 팝업 메뉴가 열리는 샘플 앱을 만들었습니다. 여기 내거야 styles.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Light">
<item name="android:textColorPrimary">@color/colorAccent</item>
</style>
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Dark">
<!-- added all to see which one will work.-->
<item name="android:popupMenuStyle">@style/PopupMenu</item>
<item name="android:itemBackground">@color/colorAccent</item>
<item name="android:colorBackground">@color/colorAccent</item>
</style>
<style name="PopupMenu" parent="@android:style/Widget.PopupMenu">
<item name="android:popupBackground">@color/colorAccent</item>
</style>
</resources>
그리고 여기 내 도구 모음 스타일입니다.
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay"/>
</android.support.design.widget.AppBarLayout>
은 내가 내 styles.xml
에있는 하나에 popupTheme
설정했습니다. 이제 배경색 팝업 메뉴를 변경하고 싶습니다. 현재는 흰색입니다. 여기
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == R.id.standard_menu){
showPopupMenu(item);
return true;
}
return super.onOptionsItemSelected(item);
}
private void showPopupMenu(MenuItem item) {
PopupMenu p = new PopupMenu(this, findViewById(item.getItemId()));
p.inflate(R.menu.pop_menu);
p.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Toast.makeText(MainActivity.this, "clicked.", Toast.LENGTH_SHORT).show();
return true;
}
});
p.show();
}
은 "안드로이드 popupMenuStyle는"당신은 '<항목 이름 = "popupMenuStyle"> @ 스타일/PopupMenu를'를 시도? – Karakuri
예. 작동하지 않습니다. – mallaudin
여기를 참조하십시오 : http://www.silverbaytech.com/2013/05/27/themes-for-the-android-actionbar-actionbaritems/ –