2016-06-07 67 views
0

到動作條我正在開發一個應用程序,並在該應用程序有3個活動添加一個動作項片段

  1. 登錄
  2. 主要
  3. PhotoViewer延伸fragmentActivity

在清單:

<activity 
     android:name=".PhotoViewerActivity" 
     android:configChanges="orientation|keyboardHidden|screenSize" 
     android:label="@string/title_activity_photo_viewer" 
     android:parentActivityName=".MainActivity" 
     android:theme="@style/FullscreenTheme" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.ceiva.snap.MainActivity" /> 
    </activity> 

Can有人請告訴我如何將「Customizer」文本添加到PhotoViewerActivity的操作欄右側。

我也試着這樣做:

getActionBar().setDisplayHomeAsUpEnabled(true); 
    getActionBar().setDisplayShowTitleEnabled(true); 
    // getActionBar().setIcon(android.R.color.transparent); 
    getActionBar().setTitle("Back"); 
    Log.i(TAG, "actionbar " + getActionBar().isShowing()); 

    ActionBar actionBar = getActionBar(); 

    TextView customizerView = new TextView(getApplicationContext()); 
    customizerView.setEnabled(true); 
    customizerView.setVisibility(View.VISIBLE); 
    customizerView.setText(getString(R.string.action_customizer)); 
    customizerView.setTextSize(16); 
    customizerView.setPadding(100, 40, 40, 40); 


    actionBar.setCustomView(customizerView); 

後面標題顯示了左側,但TextView的犯規出現。

+0

AR e您在操作欄/工具欄中討論菜單選項? – SripadRaj

+0

是的,想要添加另一個項目到操作欄。 – chitra

+0

我創建了一個新的XML文件,其中包含所需的項目作爲textview,並執行如下: getActionBar()。setDisplayHomeAsUpEnabled(true); getActionBar()。setIcon(android.R.color.transparent); getActionBar()。setTitle(「Back」); getActionBar()。setDisplayShowCustomEnabled(true); LayoutInflater inflator =(LayoutInflater)this .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 視圖V = inflator.inflate(R.layout.picture_viewer_action_bar,NULL); getActionBar()。setCustomView(v); 它按我的意圖工作。 – chitra

回答

0

你可以用這個

1.創建XML文件嘗試在menu文件夾

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

<item android:id="@+id/action_customize" 
     android:icon="@drawable/ic_action_customize" 
     android:title="@string/action_customize" 
     android:showAsAction="ifRoom"/> 
</menu> 

2.In您的活動

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

3.You可以爲你的菜單項行動與

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Take appropriate action for each action item click 
    switch (item.getItemId()) { 
    case R.id.action_customize: 
     // DO STUFF 
     return true; 

    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 
+0

我以前用過這個,但沒有工作,因爲我的活動擴展了fragmentactivity,setHasOptionsMenu(boolean)不可訪問。 – chitra

相關問題