Android中使用HorizontalScrollView横向滑动布局
16lz
2022-07-06
在Android中,ListView通常用来实现纵向滚动的列表,而HorizontalScrollView则可以实现横向滚动的列表项。
引入HorizontalScrollView控件很简单,例如在一个LinearLayout中:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <HorizontalScrollView android:layout_width="match_parent" android:layout_height="wrap_content"> HorizontalScrollView>LinearLayout>
这时我们没有添加任何子控件,因此IDE提示我们“This HorizontalScrollView view is useless (no children, no background, no id, no style)”
作为示例,我们尝试在这个HorizontalScrollView中添加若干个按钮:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.viewholdertest.MainActivity" > <HorizontalScrollView android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello"/> ......(余下的省略) HorizontalScrollView>LinearLayout>
这时IDE会提示我们:“A scroll view can have only one child”。
原来,在HorizontalScrollView中,只可存在一个直接的子View。因此正确的用法是使用一个如LinearLayout这样的控件,将多个子View放入其中,改好的布局文件是这样的:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.viewholdertest.MainActivity" > <HorizontalScrollView android:layout_width="match_parent" android:layout_height="wrap_content" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello" /> ......(余下的省略) LinearLayout> HorizontalScrollView>LinearLayout>
注意HorizontalScrollView中LinearLayout的witdh属性应为”wrap_content”。
现在运行APP,便可以通过横向滑动,将多余的按钮显示出来了。
更多相关文章
- 三、安卓UI学习(1)
- android用户界面之按钮(Button)教程实例汇
- 在Fragment中设置控件点击方法,执行失败。
- TabHost与RadioGroup结合完成的菜单【带效果图】5个Activity
- Android常用控件
- android用户界面-组件Widget-画廊视图Gallery
- 总目录
- android 单元测试
- android 布局式跑马灯,非TextView