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

Androidでアクションバー(Toolbar)の高さを取得する方法をステップ解説

この記事では、Androidアプリでアクションバー(Toolbar)の高さを取得する方法を、実際のコード例とともにステップ形式で解説します。ボタンをタップすると、アクションバーの高さがピクセル単位で画面に表示されるシンプルなサンプルアプリを作成していきます。

手順1:新しいプロジェクトを作成する

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

手順2:activity_main.xml にコードを追加する

res/layout/activity_main.xml に以下のコードを記述します。このレイアウトでは、Toolbarと、高さを取得するためのButton、そして結果を表示するTextViewを配置しています。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
   xmlns:tools="https://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   tools:context=".MainActivity">
   <android.support.v7.widget.Toolbar
      android:id="@+id/actionBarSize"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:theme="@style/ThemeOverlay.AppCompat.Dark"
      android:background="@color/colorAccent">
   </android.support.v7.widget.Toolbar>
   <Button
      android:id="@+id/btnGetHeight"
      android:text="Get Action Bar height"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerInParent="true"/>
   <TextView
      android:id="@+id/textView"
      android:textSize="16sp"
      android:textStyle="bold"
      android:layout_marginTop="15dp"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerInParent="true"
      android:layout_below="@id/btnGetHeight"/>
</RelativeLayout>

手順3:MainActivity.java にコードを追加する

src/MainActivity.java に以下のコードを記述します。ボタンがクリックされると、toolbar.getHeight() メソッドによってアクションバーの高さが取得され、その値がTextViewに表示される仕組みです。

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.support.v7.widget.Toolbar;
   public class MainActivity extends AppCompatActivity {
   Toolbar toolbar;
   Button button;
   TextView textView;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      toolbar= findViewById(R.id.actionBarSize);
      toolbar.setTitle("MyActionBar");
      getSupportActionBar();
      textView = findViewById(R.id.textView);
      button = findViewById(R.id.btnGetHeight);
      button.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            int height = toolbar.getHeight();
            textView.setText("ActionBar Height: " + height + " pixels");
         }
      });
   }
}

ポイント: getHeight() の戻り値はピクセル(px)単位です。dp単位で扱いたい場合は、画面密度(density)で割り算することで変換できます。

手順4:androidManifest.xml にコードを追加する

androidManifest.xml に以下のコードを記述します。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
   package="app.com.sample">
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:roundIcon="@mipmap/ic_launcher_round"
      android:supportsRtl="true"
      android:theme="@style/AppTheme">
      <activity android:name=".MainActivity">
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
   </application>
</manifest>

アプリを実行してみよう

それでは、作成したアプリケーションを実行してみましょう。ここでは、実機のAndroidスマートフォンがパソコンに接続されているものとして説明を進めます。

Android Studioからアプリを実行するには、プロジェクト内のいずれかのアクティビティファイルを開き、ツールバーにある「Run」アイコンをクリックします。表示された選択肢から接続済みのモバイルデバイスを選択すると、端末に以下のような画面が表示されます。

Androidでアクションバー(Toolbar)の高さを取得する方法をステップ解説


  1. 【Android】アクションバーのタイトルを中央揃えに表示する方法

    概要本記事では、Androidアプリのアクションバー(ActionBar)に表示されるタイトルを中央揃えにする方法を解説します。標準設定ではタイトルは左寄せで表示されますが、カスタムビューを利用することで簡単に中央配置を実現できます。ステップ1:新規プロジェクトの作成まず、Android Studioを起動し、「File」→「New Project」から新しいプロジェクトを作成します。必要な項目をすべて入力して、プロジェクトのセットアップを完了させてください。ステップ2:レイアウトファイル(activity_main.xml)の編集次に、res/layout/activity_main.xml

  2. AndroidでImageViewの幅と高さを取得する方法【サンプルコード付き】

    この記事では、Androidアプリ開発において android.widget.ImageView の幅(width)と高さ(height)を取得する方法を、実際に動作するサンプルコードとともにステップごとに解説します。実装の全体像ImageViewのサイズを取得するには、getWidth() メソッドと getHeight() メソッドを使用します。ここでは、ボタンをタップしたときにImageViewのサイズを取得し、TextViewに結果を表示するシンプルなサンプルアプリを作成します。手順1:新しいプロジェクトを作成するAndroid Studioを起動し、メニューから「File」→「New