逆水行舟用力撑,一篙松劲退千寻。这篇文章主要讲述Android学习-滚动视图ScrollView和HorizontalScrollView相关的知识,希望能为你提供帮助。
一、简介:【Android学习-滚动视图ScrollView和HorizontalScrollView】ScrollView,通过官方文档的继承关系可以看出,它继承自FrameLayout,所以它是一种特殊类型的FrameLayout,因为它可以使用用户滚动显示一个占据的空间大于物理显示的视图列表。值得注意的是,ScrollView只能包含一个子视图或视图组,在实际项目中,通常包含的是一个垂直的LinearLayout。
二、ScrollView代码块:
- 在activity_main.xml中添加一个超出页面范围的按钮:
<
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="wrap_content"
android:orientation="vertical"
>
<
Button
android:id="@+id/btn_textview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="TextView"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="BUTTON"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="EditText"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_radiobutton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="RadioButton"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_checkbox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="CheckBox"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_imageview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="ImageView"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_listview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="ListView"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_gridview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="GridView"
android:textAllCaps="false"/>
<
Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="test"
android:textAllCaps="false"
android:layout_marginTop="300dp"/>
<
/LinearLayout>
- 更改为ScrollView布局(ScrollView下子元素只能有一个):
<
ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<
LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<
Button
android:id="@+id/btn_textview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="TextView"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="BUTTON"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="EditText"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_radiobutton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="RadioButton"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_checkbox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="CheckBox"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_imageview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="ImageView"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_listview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="ListView"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_gridview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="GridView"
android:textAllCaps="false"/>
<
Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="test"
android:textAllCaps="false"
android:layout_marginTop="300dp"/>
<
/LinearLayout>
<
/ScrollView>
- 运行截图:
文章图片
- 在原有ScrollView基础上写入HorizontalScrollView(HorizontalScrollView下子元素只能有一个):
<
ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<
LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<
Button
android:id="@+id/btn_textview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="TextView"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="BUTTON"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="EditText"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_radiobutton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="RadioButton"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_checkbox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="CheckBox"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_imageview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="ImageView"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_listview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="ListView"
android:textAllCaps="false"/>
<
Button
android:id="@+id/btn_gridview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="GridView"
android:textAllCaps="false"/>
<
HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<
LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<
Button
android:layout_width="300dp"
android:layout_height="300dp"
android:text="Test"
android:textAllCaps="false"/>
<
Button
android:layout_width="300dp"
android:layout_height="300dp"
android:text="Test"
android:textAllCaps="false"/>
<
Button
android:layout_width="300dp"
android:layout_height="300dp"
android:text="Test"
android:textAllCaps="false"/>
<
Button
android:layout_width="300dp"
android:layout_height="300dp"
android:text="Test"
android:textAllCaps="false"/>
<
/LinearLayout>
<
/HorizontalScrollView>
<
/LinearLayout>
<
/ScrollView>
- 运行截图(既能上下滚动也能左右滚动):
文章图片
推荐阅读
- Android学习-网格视图GridView
- React-native 关于 android真机 出现连不上服务器
- mybatis Mapper XML 映射文件
- ASP.NET Core MVC 授权的扩展(自定义 Authorize Attribute 和 IApplicationModelProvide)
- Android中使用异步线程更新UI视图的几种方法
- Android Studio 发布 APK
- APPium连接真机输入框中输入的内容与代码中不一致
- 解决(Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x2)
- 大数据(Mapper输出缓冲区MapOutputBuffer)