リファレンス・カスタマイズ

【Android Studio】TextViewをスクロールできるようにする方法

 
この記事では、TextView に長い文章を表示する時にスクロールできるようにする方法を紹介します。
 

TextViewスクロールのデモ
 

java ファイルに1行追加するだけでスクロールできるようになるので、ぜひお試しください
 


 

動画

【Android Studio】TextViewをスクロールさせる方法

 
 

解説

長文テキストの用意

xml ファイルに直接長文テキスト書くとコードが読みづらくなり、Warning も出てしまうので strings.xml に定義しておきましょう。
 

Android Studio 画面左側にあるプロジェクト構造から app → res → values → strings.xml を開きます。


 
 

strings.xml を開いたら、以下のように長文を定義します。テキストは自由に変更してください。

<string name="paragraph">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam libero
        neque, consectetur non magna eu, malesuada volutpat arcu. Fusce sit amet luctus dolor, vel
        gravida sapien. Sed pharetra ex vel ligula condimentum, et ultricies tellus pellentesque.
        Vestibulum eget risus cursus, accumsan felis sed, mollis magna. Proin congue in metus et
        scelerisque. Donec nisi enim, sollicitudin sit amet molestie vel, dignissim varius est.
        Vestibulum ac ante at ante interdum efficitur. Nulla rutrum erat eu velit ornare commodo.
        Curabitur purus leo, vehicula et sapien at, sollicitudin volutpat ligula. Mauris at diam
        quis sapien rutrum condimentum. Etiam hendrerit aliquet velit mattis cursus. Phasellus
        convallis nunc eget turpis semper lobortis. Maecenas accumsan, quam nec imperdiet accumsan,
        arcu lacus tempor nulla, a porttitor massa odio sit amet lacus. Curabitur euismod rutrum
        interdum.</string>

 
 

TextView の作成

xml ファイルを開いて、以下のように TextView を用意します。

<TextView
    android:id="@+id/textView"
    android:layout_width="250dp"
    android:layout_height="200dp"
    android:text="@string/paragraph"
    android:scrollbars="vertical"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

 

2行目

android:id="@+id/textView"

java ファイル側でスクロール設定をできるように id を指定します。
 

5行目

android:text="@string/paragraph"

先ほど strings.xml に定義したテキストを指定しています。
 

6行目

android:scrollbars="vertical"

縦方向にスクロールバーを表示します。
none(なし), horizontal(横方向), vertical(縦方向)から指定できます。
 
 

スクロールできるようにする

以下の1行を MainActivity.java の onCreate メソッド内に追加します。

((TextView) findViewById(R.id.textView)).setMovementMethod(new ScrollingMovementMethod());

 

2行に分けて書くこともできます。

TextView textView = findViewById(R.id.textView);
textView.setMovementMethod(new ScrollingMovementMethod());

 

必要な import

TextView と ScrollingMovementMethod の部分が赤くなった場合は、青いメッセージが出ている状態で altreturn を同時に押して下さい。


 

6行目あたりに2つの import 文が追加されます。

import android.text.method.ScrollingMovementMethod;
import android.widget.TextView;

 
 

アプリの実行

以上で完成です!

アプリを実行すると TextView がスクロールできるようになっています。動かない場合は最後に貼ってあるサンプルコードと比較してみてください。

TextViewスクロールのデモ
 
 
 

まとめ

いかがだったでしょうか?

個人的にはあまり使ったことがなかったのですが、4択クイズアプリをカスタマイズしている方から質問頂いた機能です。

スマートフォンは画面サイズが限られているので、クイズの問題文やちょっとした説明文などの TextView をスクロールできるようにしておくと便利ですね。

この記事がお役に立てば幸いです
 

ABOUT ME
Sara
Sara
「わかりやすく・シンプル」をモットーに、携帯アプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂
独学は難しそうと感じたら

 
独学でプログラミングを勉強するのは難しそう、効率的にプログラミングを学びたいという方はオンラインスクールがオススメです。

オンラインスクールを選ぶときのポイント

  • 無料体験があること
  • 個別サポートがあること

自分にあったスタイルを見つけるために、無料体験のご利用をオススメします。(無料体験後に自分には合わないなと感じたらハッキリ断ってしまって問題ありません。)
 
個別サポートもプログラミング学習に挫折しないために重要なポイントです。エラーや困った時にすぐに個別対応をしてくれるスクールを利用して下さい。

ここでは3つのオンラインスクールを紹介します。
全て無料体験がありますので、ぜひ自分に合ったスクールを見つけてみて下さい????
 

1. TechAcademy(テックアカデミー)

オンライン完結で勉強できるスクールで、コースがとても充実しています。チャットで質問すればすぐに回答を得られるのが一番のおすすめポイントです。
オリジナルのサービスやアプリの開発もサポートしてくれるので、開発したいものが決まっている人にもオススメです。

無料体験はこちら

2. CodeCamp(コードキャンプ)

一対一で受講できる個別指導のプログラミングスクールです。
Webデザイン・Webサービス開発・アプリ開発などを幅広く学習することができます。
マンツーマンなので自分のペースで学習できて、質問もその都度できるのがメリットです。

無料体験レッスンはこちら

3. Treehouse

英語でも良い、英語とプログラミングを同時に勉強したいという方は Treehouse がオススメです。月25ドルで始めることができて、たくさんのプログラミング言語を学ぶことができます。
個別サポートはありませんが、掲示板が充実しています。ほとんどの場合、質問してから30分程度で回答を得ることができます。

7日間の無料体験はこちら

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA