主题中的Android菜单项文本颜色

时间:2016-10-05 01:55:42

标签: android android-studio android-theme android-styles

我正在使用Android Studio主题编辑器为我的Android应用设计一个新主题。

我无法更改选项菜单文字颜色的文字颜色。

我已经尝试过编辑xmls,但没有任何方法可以更改选项项目菜单。

我在所有styles.xml中都使用了以下行,没有任何更改...其中没有带文字的行对菜单项文本颜色没有任何影响。

<style name="AppBaseTheme" parent="android:Theme.Material.Light">
    <item name="android:colorBackground">@color/background</item>
    <item name="android:colorAccent">@color/accent</item>
    <item name="android:colorPrimary">@color/accent</item>
    <item name="android:colorForeground">@color/common_signin_btn_dark_text_pressed</item>
    <item name="android:textColorPrimary">@color/text_color_primary</item>
    <item name="android:textColorSecondary">@color/text_color_secondary</item>
    <item name="android:textColorTertiary">@color/text_color_secondary</item>
    <item name="android:textColorSecondaryInverse">@color/text_color_inverse</item>
    <item name="android:colorPrimaryDark">@color/background</item>
    <item name="android:textColor">@color/text_color_primary</item>
</style>

可以在此处查看整个应用程序代码库...

3 个答案:

答案 0 :(得分:5)

将此添加到您的自定义主题:

<item name="android:itemTextAppearance">@style/MenuItemTextAppearance</item>

然后创建一种新风格:

  <style name="MenuItemTextAppearance">
    <item name="android:textColor">#000</item> // replace this value with your desired menu item color.
  </style>

答案 1 :(得分:3)

在主题上添加此行

You can try this for get parent page template name
/********** GET PAGES BY PARAMS ************/

/*-- Get root parent of a page --*/
function get_root_page($page_id) 
{
    global $wpdb;

    $parent = $wpdb->get_var("SELECT post_parent FROM $wpdb->posts WHERE post_type='page' AND ID = '$page_id'");

    if ($parent == 0) 
        return $page_id;
    else 
        return get_root_page($parent);
}

/*-- Get page name by ID --*/
function get_page_name_by_ID($page_id)
{
    global $wpdb;
    $page_name = $wpdb->get_var("SELECT post_title FROM $wpdb->posts WHERE ID = '$page_id'");
    return $page_name;
}

/*-- Get page ID by Page Template --*/
function get_page_ID_by_page_template($template_name)
{
    global $wpdb;
    $page_ID = $wpdb->get_var("SELECT post_id FROM $wpdb->postmeta WHERE meta_value = '$template_name' AND meta_key = '_wp_page_template'");
    return $page_ID;
}

/* -- Get page ID by Custom Field Value -- */
function get_page_ID_by_custom_field_value($custom_field, $value)
{
    global $wpdb;
    $page_ID = $wpdb->get_var(" 
        SELECT wposts.ID
        FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
        WHERE wposts.ID = wpostmeta.post_id 
        AND wpostmeta.meta_key = '$custom_field' 
        AND (wpostmeta.meta_value like '$value,%' OR wpostmeta.meta_value like '%,$value,%' OR wpostmeta.meta_value like '%,$value' OR wpostmeta.meta_value = '$value')        
        AND wposts.post_status = 'publish' 
        AND wposts.post_type = 'page'
        LIMIT 0, 1");

    return $page_ID;
}

答案 2 :(得分:1)

我相信您正在编辑错误的属性,请您尝试以下操作?

<item name="android:textColorPrimary">yourColor</item>

请参阅上面的API代码&gt; = 21

<item name="actionMenuTextColor">@android:color/holo_green_light</item>

请参考以上代码了解API&lt; V21

希望你的问题得到解决。

您也可以参考this