将操作项添加到片段中的操作栏

时间:2016-06-07 23:40:15

标签: android android-actionbar fragment

我正在开发一款应用,并且该应用中有3项活动

  1. 登录
  2. 主要
  3. PhotoViewer扩展了fragmentActivity
  4. 清单中的

     <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>
    

    有人可以建议我如何添加&#34;定制器&#34;仅适用于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没有显示出来。

1 个答案:

答案 0 :(得分:0)

你可以试试这个

1.在menu文件夹

中创建xml文件
<?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.在您的活动中

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

3.您可以使用

为菜单项设置操作
@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);
    }
}