こんにちは!
前回はScrollViewを使用して画面を縦スクロールができるように対応しました。
今回はHorizontalScrollView使用して画面を横スクロールできるようにしてみましょう!
横スクロールはあまり他アプリで見ないですがたま〜に見るので知っておいて損はないと思います!
HorizontalScrollViewとは?
ScrollViewの横バージョンのView (名前の通りですね笑)
HorizontalScrollViewを使用する
レイアウトXMLにHorizontalScrollViewを使用してスクロールしてみましょう!
筆者は横スクロールさせたいコンテンツとして4つのViewを配置しています。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal">
<View
android:layout_width="250dp"
android:layout_height="match_parent"
android:background="#880000" />
<View
android:layout_width="250dp"
android:layout_height="match_parent"
android:layout_marginStart="32dp"
android:background="#008800" />
<View
android:layout_width="250dp"
android:layout_height="match_parent"
android:layout_marginStart="32dp"
android:background="#000088" />
<View
android:layout_width="250dp"
android:layout_height="match_parent"
android:layout_marginStart="32dp"
android:background="#888800" />
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
ポイント
1.スクロールさせたいコンテンツをHorizontalScrollViewの子要素に追加する
ScrollView同様スクロールさせたいコンテンツをHorizontalScrollViewの子要素に追加するだけでスクロールしてくれます。
注意点としてHorizontalScrollViewの子要素は一つのみです。(こちらもScrollView同様ですね)
HorizontalScrollViewに複数の子要素を追加するとクラッシュしてしまいます。
コンテンツの要素が一つの場合はそのコンテンツViewをHorizontalScrollViewに追加すれば問題ないですが、
コンテンツの要素が複数ある場合はHorizontalScrollViewに子要素としてLinearLayout等のViewGroupを追加してViewGroupに対してコンテンツの要素を追加するとクラッシュを回避する事ができます。
最後に
いかがでしたでしょうか?
たま〜に使うHorizontalScrollView。
ScrollViewと使い方が同じので使いやすいですね
それでは!
コメント