如何将setDisplayOptions方法用于操作栏?

Pau*_*aul 2 android android-actionbar

我想要一个动作栏来设置:

 actionBar.setDisplayShowTitleEnabled(true);
 actionBar.setDisplayHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)

在其他地方:

  actionBar.setDisplayShowTitleEnabled(true);
  actionBar.setDisplayHomeAsUpEnabled(false);
Run Code Online (Sandbox Code Playgroud)

但是使用相反的setDisplayOptions方法(当你想要"一次设置多个显示选项"时似乎建议这样做)但不知道如何使用它...

Raj*_*ana 6

布局:

<EditText xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/editField"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:inputType="textFilter" >

</EditText> 
Run Code Online (Sandbox Code Playgroud)

主要活动:

    import android.app.ActionBar;
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.KeyEvent;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.TextView.OnEditorActionListener;
    import android.widget.Toast;

    public class FirstActivity extends Activity {

      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ActionBar actionBar = getActionBar();

        actionBar.setCustomView(R.layout.actionbar_view);
        EditText edit= (EditText) actionBar.getCustomView().findViewById(R.id.editField);
        edit.setOnEditorActionListener(new OnEditorActionListener() {

          @Override
          public boolean onEditorAction(TextView v, int actionId,
              KeyEvent event) {
            Toast.makeText(MainActivity.this, "Execution started",
                Toast.LENGTH_LONG).show();
            return false;
          }
        });
 //here comes the usage of setDisplayOptions
        actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM
            | ActionBar.DISPLAY_SHOW_HOME);
      }

    } 
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.