2017-02-21 35 views
0

起初,我將rate me按鈕編碼爲選項菜單的一部分,並且效果很好。在操作欄中添加Rate me按鈕時出現的問題

enter image description here

現在我想將更多的關注率我的功能。所以我給RateMe菜單main.xml添加了一個圖標。但是當我運行應用程序時,速率我按鈕仍然在菜單中,並不會作爲按鈕顯示。

我錯過了什麼?

這是我的菜單的main.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 


     <item android:id="@+id/settings" 
      android:icon="@mipmap/action_search" 
      android:title="@string/settings" 
      android:showAsAction="ifRoom|withText" 
      /> 

     <item android:id="@+id/RateMe" 
      android:icon="@mipmap/ic_action_important" 
      android:title="@string/RateMe" 
      android:showAsAction="always" 
      /> 

     <item android:id="@+id/about" 
      android:icon="@mipmap/action_search" 
      android:title="@string/about" 
      android:showAsAction="ifRoom|withText" /> 

    </menu> 

它正確地顯示在演播室:

enter image description here

這裏是我的mainactivity代碼:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.main, menu); 
    return super.onCreateOptionsMenu(menu); 
} 

@Override 
public boolean onPrepareOptionsMenu(Menu menu) { 
    boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList); 
    menu.findItem(id.settings).setVisible(!drawerOpen); 
    menu.findItem(id.about).setVisible(!drawerOpen); 
    menu.findItem(id.RateMe).setVisible(!drawerOpen); 
    return super.onPrepareOptionsMenu(menu); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    Intent i; 
    if (mDrawerToggle.onOptionsItemSelected(item)) { 
     return true; 
    } 
    switch(item.getItemId()) { 
     case id.settings: 
      i = new Intent(this, Settings.class); 
      startActivity(i); 
      return true; 
     case id.about: 
      i = new Intent(this, About.class); 
      startActivity(i); 
      return true; 
     case id.RateMe: 
      i = new Intent(this, RateMe.class); 
      startActivity(i); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 

這裏是我的主版面文件:

<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

<FrameLayout 
    android:id="@+id/content_frame" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

<ListView 
    android:id="@+id/left_drawer" 
    android:layout_width="240dp" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:choiceMode="singleChoice" 
    android:divider="@android:color/transparent" 
    android:background="#111"/> 
</android.support.v4.widget.DrawerLayout> 

和我的文件的速度(空):

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_rate_me" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.bernard_zelmans.checksecurity.Activities.RateMe"> 

</RelativeLayout> 
+0

與其他兩個菜單 – KrishnaJ

回答

1

下面xmlns:android="http://schemas.android.com/apk/res/android"

添加xmlns:app="http://schemas.android.com/apk/res-auto"和替換所有android:showAsAction=app:showAsAction=

,如:

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto"> 


    <item android:id="@+id/settings" 
     android:icon="@mipmap/action_search" 
     android:title="@string/settings" 
     app:showAsAction="ifRoom|withText" 
     /> 

    <item android:id="@+id/RateMe" 
     android:icon="@mipmap/ic_action_important" 
     android:title="@string/RateMe" 
     app:showAsAction="always" 
     /> 

    <item android:id="@+id/about" 
     android:icon="@mipmap/action_search" 
     android:title="@string/about" 
     app:showAsAction="ifRoom|withText" /> 

</menu> 

希望這有助於。

+0

一樣工作。謝謝! – narb

+0

不客氣。 –

0

我不確定這是否會對您有所幫助。嘗試將app:showAsAction="always|collapseActionView"添加到您的項目。

<item android:id="@+id/RateMe" 
     android:icon="@mipmap/ic_action_important" 
     android:title="@string/RateMe" 
     app:showAsAction="always|collapseActionView" />