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

Sara

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

TextViewスクロールのデモ

解説

1. 長文テキストの用意

まずは 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>

2. 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(縦方向)から指定できます。

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

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

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

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

TextView textView = findViewById(R.id.textView);
textView.setMovementMethod(new ScrollingMovementMethod());
必要な import

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

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

4. アプリの実行

以上で完成です!

アプリを実行すると TextView がスクロールできるようになっています。

TextViewスクロールのデモ

まとめ

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

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

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

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
ABOUT ME
Sara
Sara
運営者
書籍やオンライン講座でプログラミングを勉強してフリーランスのプログラマーになりました。
このサイトでは「わかりやすく・シンプル」をモットーに、プログラミングの基礎からアプリ開発まで紹介します。
独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています。
>> 詳しいプロフィールはこちら
本格的に学びたい方へ

Code for Fun プログラミング講座

Code for Fun プログラミング講座では、プログラミングの基礎からアプリ開発まで学ぶことができます。

わかりやすく・シンプルをモットーに

  • 同じコードを書けば必ず完成できること
  • 専門用語を使いすぎないこと

を重視しています。

POINT 01

動くコード

プログラミングの文法だけを学んでも、そこから動くアプリを開発をするのは難しいです。

Code for Fun のプログラミング講座では、ゲームやカレンダーなど「アプリとして機能するもの」を作りながらプログラミングを学ぶことができます。

POINT 02

自分のペースで

オンライン講座なので、ご自身のペースで学習を進めて頂けます。

分からないことがあっても、前のレッスンに戻ることができるので安心です。

お申し込みしたその日からからすぐに始めることができます。

POINT 03

個別サポート

プログラミング学習では、エラーが起きることはよくあります。そんな時はお気軽にお問い合わせください!

コメント欄またはメールによるサポートを回数無制限でご利用頂けます。(*講座に関連するご質問のみ対応)

今すぐ無料でお試し

0
この記事にコメントするx
記事URLをコピーしました