2014-03-19 128 views
0

我現在遇到了在菜單中使用「android:actionLayout」的問題。ActionBar上的自定義菜單項

我已經使用這個和一些我以前項目的工作,但現在我不知道是怎麼回事。

當我輸入

android:title="@string/menu_notifications" 
android:actionLayout="@layout/menu_notification" 

動作條中的每一個圖標在我的應用程序更改爲文本。

我嘗試了很多事情沒有工作過。我不知道發生了什麼。

請一些建議/想法?

編輯: menu_notification.xml

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="wrap_content" 
android:layout_height="match_parent"> 
<TextView android:layout_height="wrap_content" 
android:layout_width="wrap_content" 
android:text="TEST" 
android:textSize="20dp" 
android:textColor="#F00" 
/> 
</LinearLayout> 

編輯2:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 

    getMenuInflater().inflate(R.menu.menu_main, menu); 

    return true; 
} 
+0

確定 「menu_notification」 是一個XML –

+0

@MSS是它的XML – user1730007

+0

什麼操作系統的版本,你測試過嗎? –

回答

0

變化menu_notification.xml如,

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:text="TEST" 
    android:textSize="20dp" 
    android:textColor="#F00" 
/> 

和main.xml中,

 <item 
    android:id="@+id/log_out" 
     android:actionLayout="@layout/menu_notification" 
    android:icon="@drawable/power" 

android:showAsAction="always" 
/> 

然後,

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 

MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.main, menu); 
TextView txtview=(TextView)menu.findItem(R.id.log_out).getActionView(); 
//do remaining stuff here 

}

+0

不工作,同樣的純文本「通知」出現測試此。 – user1730007

+0

是否有任何錯誤? –

+0

沒有錯誤可言,但沒有工作再次只顯示 – user1730007