Android
 Computer >> コンピューター >  >> プログラミング >> Android

【Android】アクションバーが表示されているかどうかを確認する方法

このチュートリアルでは、Androidアプリでアクションバー(ActionBar)が現在表示中かどうかをプログラムで判定する方法を解説します。getSupportActionBar().isShowing() メソッドを使えば、アクションバーの表示状態を簡単に取得できます。

ステップ1:新規プロジェクトの作成

Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目を入力してプロジェクトを作成してください。

ステップ2:レイアウトファイルの編集

res/layout/activity_main.xml に以下のコードを追加します。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:gravity="center"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/text"
        android:textSize="30sp"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

上記のコードでは、アクションバーの状態を表示するための TextView を1つ配置しています。LinearLayout の gravity を center に設定することで、テキストが画面中央に表示されるようになっています。

ステップ3:MainActivity.java の編集

src/MainActivity.java に以下のコードを記述します。

package com.example.myapplication;

import android.annotation.SuppressLint;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    TextView textView;

    @SuppressLint("RestrictedApi")
    @RequiresApi(api = Build.VERSION_CODES.N)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.text);

        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setTitle("Home");
        getSupportActionBar().setSubtitle("sairam");

        // アクションバーの表示状態を取得して TextView に表示
        textView.setText(" " + getSupportActionBar().isShowing());
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem menuItem) {
        if (menuItem.getItemId() == android.R.id.home) {
            finish();
        }
        return super.onOptionsItemSelected(menuItem);
    }
}

ここでのポイントは onCreate() 内の getSupportActionBar().isShowing() の呼び出しです。このメソッドは、アクションバーが表示されていれば true、非表示であれば false を返します。その結果を TextView にセットすることで、画面上で直接状態を確認できる仕組みです。また、ホームボタン(←)がタップされたときにアプリを終了する処理も onOptionsItemSelected() に実装しています。

アプリの実行と確認

それではアプリを実行してみましょう。実機のAndroid端末をパソコンに接続しているものとします。Android Studioでプロジェクト内のいずれかのアクティビティファイルを開き、ツールバーの「Run」アイコンをクリックします。実行対象として自分の端末を選択すると、端末の画面にアクションバーの表示状態が表示されます。

【Android】アクションバーが表示されているかどうかを確認する方法
  1. 【Android】アクションバーのサイズ(高さ)を変更する方法をわかりやすく解説

    この記事では、Androidアプリにおいてアクションバーのサイズ(高さ)を変更する方法を、実際のコード例とともにステップ形式で解説します。テーマのカスタマイズだけで簡単に実装できるので、ぜひ参考にしてください。手順1:新しいプロジェクトを作成するまず、Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目を入力してプロジェクトを作成しましょう。手順2:styles.xmlにアクションバーのサイズを定義する次に、「res/values/styles.xml」に以下のコードを追加します。ポイントは actionBarS

  2. 【Android開発】ステータスバーを非表示にしてフルスクリーン表示する方法

    Androidでステータスバーを非表示にする方法この記事では、Androidアプリでステータスバー(通知バー)を非表示にし、画面全体をフルスクリーン表示にする方法を解説します。ゲームや動画プレーヤーなど、没入感のあるUIを実装したい場面で役立つ定番テクニックです。ステップ1:新規プロジェクトを作成するまず、Android Studioで新しいプロジェクトを作成します。メニューから「File」⇒「New Project」を選択し、必要な設定項目をすべて入力してプロジェクトを生成しましょう。ステップ2:activity_main.xml を編集する次に、res/layout/activity_ma