liguofeng29’s blog

個人勉強用ブログだっす。

AndroidのUI - ActionBar

 

activity_main.xml
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="show actionbar"
android:id="@+id/button"
android:onClick="showActionBar" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hide actionbar"
android:id="@+id/button2"
android:onClick="hideActionBar" />
</LinearLayout>
  
MainActivity.java
 
package com.example.liguofeng.actionbar;

import android.app.Activity;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.internal.view.menu.ActionMenuItem;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.SearchView;

public class MainActivity extends AppCompatActivity {

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

// ActionBar取得
// ManifestでNoActionBar指定時は取得できない

bar = getSupportActionBar();

bar.setDisplayShowHomeEnabled(true); // APPのIcon表示
bar.setHomeButtonEnabled(true); // 押下可能
bar.setDisplayHomeAsUpEnabled(true); // ←

bar.setDisplayShowCustomEnabled(true); // customViewを表示するか
// View追加
bar.setCustomView(new SearchView(this));

// Tab ナビ機能は省略
// ① setnavigationMode()
// ② addTab()
}
public void showActionBar(View view) {
bar.show(); // ActionBar表示
}
public void hideActionBar(View view) {
bar.hide(); // ActionBar隠蔽
}
// ActionBarにメニュー表示
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuItem mi01 = menu.add("item01");
MenuItem mi02 = menu.add("item02");
MenuItem mi03 = menu.add("item03");
mi01.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
mi02.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
mi03.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);

return super.onCreateOptionsMenu(menu);
}
}