« 『第三十九回吉祥寺秋祭り』で杏を食う。 | トップページ | 『塩ラムネ』発見! »

2011年9月11日 (日)

アンドロイドで『TextView』を上下スクロールさせるには…

結論から言うと

無理!!!(>_<)

ガックシ…。

いくらなんでもその機能が無いのでねぇ~。

これは、無理と言わざる終えない…。

何で無いのかね?

多分『TextView』は、
ちょっとしたテキストを表示するのを目的にした
機能限定版の処理なのだろう…。

調べている過程で無理やりスクロールさせるのなら
「ScrollView」の下に置けば出来るらしい。

つまり、画面外に伸びる大きなテキストビューを作成し
それ全体をスクロールする形になるようだ。

本当にそうか試してみた。

適当にプロジェクトを作成し『main.xml』の中身を以下に書き換える。

----------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

<ScrollView
    android:id="@+id/ScrollView01"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fastScrollEnabled="true" >

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="00■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■~中略~99■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■"/>

</ScrollView>

</LinearLayout>
----------------------------------------

※中略は、自力で増やしてくれ…。※

すると…

でっかいテキストビューが上下にスクロールする。

でも、ビューの中のテキストがスクロールして欲しい…。

何とかならないものか?

テキストを表示するのには、
他に『TextEdit』ってのがある…。

試しにこれを使ってみる。

おお!

イメージに近い感じでスクロールするぞ!

『TextView』が機能限定版なら
『TextEdit』は、高機能版にあたるのかな?

確かに色々な機能が無いと実現できない処理だし…。

ともかくこれは、使えそうだ!

って、訳で詰めてみた。

たとえば、テキスト編集機能は、起動してもらっては困る。

テキストコピーも停止して欲しい。

と、色々調べたらこんな感じだろうか…。

<EditText android:text="00■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■~中略~99■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■"/>
    android:id="@+id/results"
    android:background="@drawable/message"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10px"
    android:layout_marginRight="10px"
    android:layout_marginTop="10px"
    android:layout_marginBottom="10px"
    android:paddingLeft="10px"
    android:paddingRight="10px"
    android:paddingTop="10px"
    android:paddingBottom="10px"
    android:textColor="#FF000000"
    android:layout_weight="50"
    android:gravity="top"
    android:editable="false"
    android:enabled="false"/>

背景に画像を表示するとなお可!(笑)

この設定の味噌は以下の設定。

エディットの無効化
android:editable="false"

コピーなどの編集の無効化
android:enabled="false"

ちなみに他にもボタンがあったりするので、
android:layout_weight="50"
で、高さを自動調整している。

背景の画像↓。

Message9

ただし、これ滑らかにスクロールしない。

指でズルズルと引っ張る感じ。

文字制御だからなのか?

ともかくこれで行ってみよう!

|

« 『第三十九回吉祥寺秋祭り』で杏を食う。 | トップページ | 『塩ラムネ』発見! »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: アンドロイドで『TextView』を上下スクロールさせるには…:

« 『第三十九回吉祥寺秋祭り』で杏を食う。 | トップページ | 『塩ラムネ』発見! »