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

【Android】マーキーテキスト(横スクロール表示)を実装する方法を解説

本記事では、Androidアプリでマーキー(Marquee)テキストを実装する方法を、実際のサンプルコードとともにステップごとに解説します。マーキーとは、テレビのニュース速報や電光掲示板のように、長いテキストが画面上を横方向へ自動的にスクロールする表示効果のことです。

マーキーテキストの実装手順

ステップ1:新規プロジェクトを作成する

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

ステップ2:レイアウトファイル(activity_main.xml)にコードを追加する

res/layout/activity_main.xml を開き、以下のコードを記述します。

<?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">
    <TextView
        android:padding="4dp"
        android:id="@+id/textMarquee"
        android:textSize="24sp"
        android:textStyle="bold|italic"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:singleLine="true"
        android:ellipsize="marquee"
        android:marqueeRepeatLimit="marquee_forever"
        android:scrollHorizontally="true"/>
</RelativeLayout>

ポイント:マーキースクロールを有効にするには、以下の属性が重要です。

  • android:singleLine="true" … テキストを1行に制限する(必須)
  • android:ellipsize="marquee" … マーキースクロールを有効化する
  • android:marqueeRepeatLimit="marquee_forever" … スクロールを無限に繰り返す
  • android:scrollHorizontally="true" … 横方向のスクロールを許可する

ステップ3:MainActivity.java にコードを追加する

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

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity{
    TextView textMarquee;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textMarquee = findViewById(R.id.textMarquee);
        textMarquee.setText("Be the change that you wish to see in the world, Be yourself; everyone else is already taken.");
        textMarquee.setSelected(true);
    }
}

ポイント:setSelected(true) の呼び出しは非常に重要です。TextViewが選択状態になっていないと、マーキースクロールは開始されません。この行を忘れるとテキストが静止したままになるため、注意してください。

ステップ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】マーキーテキスト(横スクロール表示)を実装する方法を解説

  1. AndroidアプリでAutoCompleteTextViewを使う方法!入力補完機能の実装手順を解説

    AutoCompleteTextViewとは?AutoCompleteTextViewは、ユーザーが文字を入力すると、あらかじめ用意した候補リストから自動的に補完候補をドロップダウン形式で表示してくれるビューです。EditTextを継承しており、検索ボックスやフォーム入力などで活用することで、ユーザーの入力の手間を大幅に減らせます。この記事では、AndroidアプリでAutoCompleteTextViewを使って入力補完機能を実装する手順を、サンプルコード付きでステップごとに解説します。実装手順ステップ1:新規プロジェクトを作成するAndroid Studioを開き、メニューから「File」

  2. 【Android】CheckBox(チェックボックス)の使い方をサンプルコード付きで解説

    はじめにこの記事では、AndroidアプリでCheckBox(チェックボックス)を使用する方法を、実際のコード例とともにわかりやすく解説します。CheckBoxは、ユーザーに複数の項目を選ばせたい場合に便利なUI部品です。RadioButtonがグループ内で1つしか選択できないのに対し、CheckBoxは複数選択が可能という点が大きな特徴です。このチュートリアルでは、「ピザ」「コーヒー」「バーガー」の3つの商品を選択し、ボタンを押すと選択された商品と合計金額をToastで表示する、シンプルな注文アプリを作成します。手順1:Android Studioで新規プロジェクトを作成するAndroid