1
我正在開發一個應用程序,其中有一個列表和一個彈出式菜單。但我的應用程序有黑色背景色,文字顏色是白色。但是我的彈出式菜單背景顏色是白色,文字顏色是白色。我嘗試了所有可能的方式,但它不起作用。這是我的代碼。彈出菜單樣式問題
Style.xml
<attr name="iconColor" format="reference" />
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/back_color</item>
<item name="colorPrimaryDark">@android:color/holo_orange_dark</item>
<item name="android:textColor">@color/White</item>
<item name="android:textSize">12dp</item>
<item name="android:windowActionBarOverlay">true</item>
<item name="iconColor">@android:color/white</item>
<item name="android:popupBackground">@color/back_color</item>
<item name="android:popupMenuStyle">@style/PopupMenu</item>
<item name="colorAccent">@android:color/holo_red_light</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" >
<item name="android:panelBackground">@color/back_color</item>
<item name="android:textColor">@color/black</item>
</style>
<style name="StyledScrollerTextAppearance" parent="@android:style/TextAppearance">
<item name="android:textSize">24sp</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@android:color/white</item>
</style>
<style name="AppTheme.TextAppearance">
<item name="android:textColor">@color/White</item>
<item name="android:textSize">12dp</item>
</style>
<style name="AppTheme.TextAppearance.Subtitle">
<item name="android:textColor">@color/White</item>
<item name="android:textSize">10dp</item>
</style>
<style name="PopupMenu">
<item name="android:panelBackground">@color/back_color</item>
<item name="android:textColor">@color/White</item>
</style>
<style name="Theme.AppCompat.Light.NoActionBarCustom" parent="Theme.AppCompat.Light.NoActionBar" >
<item name="colorAccent">@android:color/holo_red_dark</item>
</style>
下面是回收觀點適配器
@Override
public void onBindViewHolder(ItemHolder itemHolder, int i) {
Song localItem = arraylist.get(i);
itemHolder.title.setText(localItem.title);
itemHolder.artist.setText(localItem.artistName);
setOnPopupMenuListener(itemHolder, i);
}
private void setOnPopupMenuListener(ItemHolder itemHolder, final int position) {
itemHolder.popupMenu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Context wrapper = new ContextThemeWrapper(mContext, R.style.PopupMenu);
final PopupMenu menu = new PopupMenu(wrapper, v);
menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.popup_play:
break;
case R.id.popup_next:
break;
}
return false;
}
});
menu.inflate(R.menu.popup_song);
menu.show();
}
});
}
請它幫助我。
其列表視圖不隔離按鈕。你能幫助我嗎? –
你是什麼意思列表視圖?和按鈕? '@android:style/Widget.PopupMenu'是Android的彈出式菜單樣式,它像列表一樣打開(如果你正在考慮這個) – mallaudin
我有列表,其中有彈出式菜單。每一行都有列表。讓我拿。刪除,共享等每一行。在列表中創建了彈出窗口。您可以在我的代碼中看到有回收站適配器。這是有約束力的。 –