繁体   English   中英

菜单项未在Android的ActionBar中显示

[英]menu item doesn't show in ActionBar in android

我已经尝试了SO在其他问题中建议的几乎所有东西。.仍然没有在操作栏中显示菜单项。 在以前显示之前,但是当我使用菜单的操作布局更改文本大小时,它已停止显示它。任何帮助将不胜感激...

这是我的menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/mnuRecentLookUp" android:title="@string/mnuRecentLookUp" android:icon="@drawable/clock" />
<item android:id="@+id/mnuBookmarks" android:title="@string/mnuBookmarks" android:icon="@drawable/bookmarks" />
<item android:id="@+id/mnuFontSize" android:title="@string/mnuFontSize" android:icon="@drawable/fontsize"/>
<item android:id="@+id/mnuHelp" android:title="@string/mnuHelp" android:icon="@drawable/help" />

<group android:id="@+id/group_term_nav">        

          <item android:id="@+id/btnTtod"
         android:title="@string/ttod"  
          android:showAsAction="always"
          android:actionLayout="@layout/menu_action_layout"

         /></group>

</menu>

以下是menu_action_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
         android:layout_height="match_parent">

<TextView android:id="@+id/actionBarMenuPoints"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:paddingTop="4dp"
    android:paddingBottom="4dp"
    android:paddingLeft="5dp"
    android:layout_gravity="center"
    android:layout_marginRight="8dp"
    android:textStyle="bold"

   android:drawablePadding="3dp"
    android:gravity="center"
    android:scaleType="fitCenter"

    />
   </FrameLayout>

onCreateOptionsMenu中的活动代码。

public boolean onCreateOptionsMenu(final Menu menu) {

    MenuInflater menuInflater = this.getMenuInflater();
    menuInflater.inflate(R.menu.nav_home, menu);

    // Calling super after populating the menu is necessary here to ensure
    // that the
    // action bar helpers have a chance to handle this event.
    MenuItem pointsMenu = menu.findItem(R.id.btnTtod);
   // pointsMenu.setTitle(pointsLeft );
    TextView actionBarPoints = (TextView) pointsMenu.getActionView().findViewById(R.id.actionBarMenuPoints);
    //actionBarPoints.setText(pointsLeft);
    actionBarPoints.setGravity(Gravity.CENTER_VERTICAL);
    actionBarPoints.setTextColor(context.getResources().getColor(R.color.white));
    actionBarPoints.setTextSize(20);
    //actionBarPoints.setTypeface(tfBold);
    this.getActionBar().setCustomView(actionBarPoints);
    return super.onCreateOptionsMenu(menu);
}

通过在styles.xml中使用以下代码解决了该问题

  <style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
 <item name="android:actionMenuTextAppearance">@style/MyActionBar.MenuTextStyle</item>
</style>
<style name="MyActionBar.MenuTextStyle"
parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textStyle">bold</item>
<item name="android:textSize">20sp</item>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM