TextView,ListViewでマーキー(marquee)を使う方法
なんだかフォーカス(focus)が当たらないとマーキー(marquee)が動かないと聞いて、ちょっと調べたらすぐ出てきたのでメモしておきます。
まずTextViewでマーキー(marquee)
<TextViewandroid:layout_width="150px"
android:layout_height="wrap_content"
android:text="hogehogehogehogehogehogehogehoge"
android:focusable="true"
android:focusableInTouchMode="true"
android:ellipsize="marquee"
android:singleLine="true"
android:marqueeRepeatLimit="marquee_forever"
/>
これで普通にActivityを実行すれば何事もなくマーキーが動きます。
注意点としてはlayout_widthのプロパティ。文字内容がlayout_widthよりも長い状態でのみマーキーは動くみたいです。
ellipsizeというプロパティはどれもそうかも(endしか使ったことないですが)
続いてListViewでマーキー(marquee)
<TextView
android:id="@+id/name"
android:layout_width="100px"
android:layout_height="wrap_content"
android:paddingLeft="20px"
android:textColor="@color/black"
android:singleLine="true"
android:ellipsize="marquee"
/>
※上記嘘ついてました。基本TextViewのほうでいいと思います。あとで書きなおします
このTextViewはinflateする時に使ったlayout内に配置します
これも注意点はTextViewと一緒ですが、ListViewのマーキーはフォーカスが当たらないと動かないかも。