ScrollView垂直滚动和HrizontalScrollView水平滚动
当我们在写一个页面,内容过多时我们需要滚动页面来查看,但是注意ScrollView下只能有一个元素,所以要把主页面改下,这样就只有一个LinearLayout元素:
1 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:app="http://schemas.android.com/apk/res-auto" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:orientation="vertical" 7 android:padding="20dp"> 8 9 <LinearLayout 10 android:layout_width="match_parent" 11 android:layout_height="wrap_content" 12 android:orientation="vertical"> 13 <Button 14 android:id="@+id/btn_textview" 15 android:layout_width="match_parent" 16 android:layout_height="wrap_content" 17 android:text="textview" 18 android:textColor="#000000" 19 android:backgroundTint="#FFFF00" 20 android:textAllCaps="false"/> 21 22 <Button 23 android:id="@+id/btn_button" 24 android:layout_width="match_parent" 25 android:layout_height="wrap_content" 26 android:text="button" 27 android:textColor="#000000" 28 android:backgroundTint="#FFFF00" 29 android:textAllCaps="false"/> 30 31 <Button 32 android:id="@+id/btn_edittext" 33 android:layout_width="match_parent" 34 android:layout_height="wrap_content" 35 android:text="edittext" 36 android:textColor="#000000" 37 android:backgroundTint="#FFFF00" 38 android:textAllCaps="false"/> 39 <!--textAllCaps是取消默认大写的设置--> 40 41 <Button 42 android:id="@+id/btn_radioButton" 43 android:layout_width="match_parent" 44 android:layout_height="wrap_content" 45 android:text="radioButton" 46 android:textColor="#000000" 47 android:backgroundTint="#FFFF00" 48 android:textAllCaps="false"/> 49 50 <Button 51 android:id="@+id/btn_checkbox" 52 android:layout_width="match_parent" 53 android:layout_height="wrap_content" 54 android:text="checkbox" 55 android:textColor="#000000" 56 android:backgroundTint="#FFFF00" 57 android:textAllCaps="false"/> 58 59 <Button 60 android:id="@+id/btn_imageview" 61 android:layout_width="match_parent" 62 android:layout_height="wrap_content" 63 android:text="imageview" 64 android:textColor="#000000" 65 android:backgroundTint="#FFFF00" 66 android:textAllCaps="false"/> 67 68 <Button 69 android:id="@+id/btn_listview" 70 android:layout_width="match_parent" 71 android:layout_height="wrap_content" 72 android:text="listview" 73 android:textColor="#000000" 74 android:backgroundTint="#FFFF00" 75 android:textAllCaps="false"/> 76 77 <Button 78 android:id="@+id/btn_gridview" 79 android:layout_width="match_parent" 80 android:layout_height="wrap_content" 81 android:text="gridview" 82 android:textColor="#000000" 83 android:backgroundTint="#FFFF00" 84 android:textAllCaps="false"/> 85 86 <Button 87 android:id="@+id/btn_scrollview" 88 android:layout_width="match_parent" 89 android:layout_height="wrap_content" 90 android:text="scrollview滚动测试" 91 android:textColor="#000000" 92 android:backgroundTint="#FFFF00" 93 android:textAllCaps="false" 94 android:layout_marginTop="300dp"/> 95 </LinearLayout> 96 97 </ScrollView>
注意LinearLayout下的height元素一定是wrap_content,不能是match_parent,否则就会出现错误,导致无法运行。
然后HrizontalScrollView水平滚动与垂直滚动同理,只能包含一个元素,最重要的是注意height和width都一定是wrap_content。可以测试一下
1 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:app="http://schemas.android.com/apk/res-auto" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:orientation="vertical" 7 android:padding="20dp"> 8 9 <LinearLayout 10 android:layout_width="match_parent" 11 android:layout_height="wrap_content" 12 android:orientation="vertical"> 13 <Button 14 android:id="@+id/btn_textview" 15 android:layout_width="match_parent" 16 android:layout_height="wrap_content" 17 android:text="textview" 18 android:textColor="#000000" 19 android:backgroundTint="#FFFF00" 20 android:textAllCaps="false"/> 21 22 <Button 23 android:id="@+id/btn_button" 24 android:layout_width="match_parent" 25 android:layout_height="wrap_content" 26 android:text="button" 27 android:textColor="#000000" 28 android:backgroundTint="#FFFF00" 29 android:textAllCaps="false"/> 30 31 <Button 32 android:id="@+id/btn_edittext" 33 android:layout_width="match_parent" 34 android:layout_height="wrap_content" 35 android:text="edittext" 36 android:textColor="#000000" 37 android:backgroundTint="#FFFF00" 38 android:textAllCaps="false"/> 39 <!--textAllCaps是取消默认大写的设置--> 40 41 <Button 42 android:id="@+id/btn_radioButton" 43 android:layout_width="match_parent" 44 android:layout_height="wrap_content" 45 android:text="radioButton" 46 android:textColor="#000000" 47 android:backgroundTint="#FFFF00" 48 android:textAllCaps="false"/> 49 50 <Button 51 android:id="@+id/btn_checkbox" 52 android:layout_width="match_parent" 53 android:layout_height="wrap_content" 54 android:text="checkbox" 55 android:textColor="#000000" 56 android:backgroundTint="#FFFF00" 57 android:textAllCaps="false"/> 58 59 <Button 60 android:id="@+id/btn_imageview" 61 android:layout_width="match_parent" 62 android:layout_height="wrap_content" 63 android:text="imageview" 64 android:textColor="#000000" 65 android:backgroundTint="#FFFF00" 66 android:textAllCaps="false"/> 67 68 <Button 69 android:id="@+id/btn_listview" 70 android:layout_width="match_parent" 71 android:layout_height="wrap_content" 72 android:text="listview" 73 android:textColor="#000000" 74 android:backgroundTint="#FFFF00" 75 android:textAllCaps="false"/> 76 77 <Button 78 android:id="@+id/btn_gridview" 79 android:layout_width="match_parent" 80 android:layout_height="wrap_content" 81 android:text="gridview" 82 android:textColor="#000000" 83 android:backgroundTint="#FFFF00" 84 android:textAllCaps="false"/> 85 86 <HorizontalScrollView 87 android:layout_width="wrap_content" 88 android:layout_height="wrap_content"> 89 <LinearLayout 90 android:layout_width="wrap_content" 91 android:layout_height="wrap_content" 92 android:orientation="horizontal"> 93 <Button 94 android:layout_width="200dp" 95 android:layout_height="300dp" 96 android:text="我只是个测试。。" 97 android:textAllCaps="false"/> 98 <Button 99 android:layout_width="200dp" 100 android:layout_height="300dp" 101 android:text="我只是个测试。。" 102 android:textAllCaps="false"/> 103 <Button 104 android:layout_width="200dp" 105 android:layout_height="300dp" 106 android:text="我只是个测试。。" 107 android:textAllCaps="false"/> 108 <Button 109 android:layout_width="200dp" 110 android:layout_height="300dp" 111 android:text="我只是个测试。。" 112 android:textAllCaps="false"/> 113 </LinearLayout> 114 </HorizontalScrollView> 115 </LinearLayout> 116 117 </ScrollView>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义