Android中使用HorizontalScrollView横向滑动布局

我不是女神ヾ 2024-02-18 23:45 150阅读 0赞

在Android中,ListView通常用来实现纵向滚动的列表,而HorizontalScrollView则可以实现横向滚动的列表项。

引入HorizontalScrollView控件很简单,例如在一个LinearLayout中:

  1. <HorizontalScrollView
  2. android:layout_width="match_parent"
  3. android:layout_height="wrap_content"
  4. android:scrollbars="none">
  5. <LinearLayout
  6. android:id="@+id/rl_title_log_activity"
  7. android:layout_width="wrap_content"
  8. android:layout_height="56dp"
  9. android:orientation="horizontal">
  10. <ImageView
  11. android:id="@+id/iv_back_log_activity"
  12. android:layout_width="wrap_content"
  13. android:layout_height="match_parent"
  14. android:layout_centerVertical="true"
  15. android:padding="16dp"
  16. android:scaleType="centerCrop"
  17. android:src="@drawable/icon_back_blue"/>
  18. <TextView
  19. android:id="@+id/tv_event_log_activity"
  20. android:layout_width="wrap_content"
  21. android:layout_height="match_parent"
  22. android:gravity="center"
  23. android:paddingLeft="@dimen/dp10"
  24. android:paddingRight="@dimen/dp10"
  25. android:text="Event"
  26. android:textColor="@color/blue"
  27. android:textSize="18sp"
  28. android:textStyle="bold"/>
  29. <TextView
  30. android:id="@+id/tv_http_log_activity"
  31. android:layout_width="wrap_content"
  32. android:layout_height="match_parent"
  33. android:gravity="center"
  34. android:paddingLeft="@dimen/dp10"
  35. android:paddingRight="@dimen/dp10"
  36. android:text="HTTP"
  37. android:textColor="@color/blue"
  38. android:textSize="18sp"
  39. android:textStyle="bold"/>
  40. <TextView
  41. android:id="@+id/tv_socket_log_activity"
  42. android:layout_width="wrap_content"
  43. android:layout_height="match_parent"
  44. android:gravity="center"
  45. android:paddingLeft="@dimen/dp10"
  46. android:paddingRight="@dimen/dp10"
  47. android:text="Socket"
  48. android:textColor="@color/blue"
  49. android:textSize="18sp"
  50. android:textStyle="bold"/>
  51. <TextView
  52. android:id="@+id/tv_agora_log_activity"
  53. android:layout_width="wrap_content"
  54. android:layout_height="match_parent"
  55. android:gravity="center"
  56. android:paddingLeft="@dimen/dp10"
  57. android:paddingRight="@dimen/dp10"
  58. android:text="Agora"
  59. android:textColor="@color/blue"
  60. android:textSize="18sp"
  61. android:textStyle="bold"/>
  62. <TextView
  63. android:id="@+id/tv_other_log_activity"
  64. android:layout_width="wrap_content"
  65. android:layout_height="match_parent"
  66. android:gravity="center"
  67. android:paddingLeft="@dimen/dp10"
  68. android:paddingRight="@dimen/dp10"
  69. android:text="Other"
  70. android:textColor="@color/blue"
  71. android:textSize="18sp"
  72. android:textStyle="bold"/>
  73. <TextView
  74. android:id="@+id/tv_clear_base_call_activity"
  75. android:layout_width="wrap_content"
  76. android:layout_height="wrap_content"
  77. android:gravity="center"
  78. android:paddingLeft="@dimen/dp10"
  79. android:paddingRight="@dimen/dp10"
  80. android:text="Clear"
  81. android:textColor="@color/blue"
  82. android:textSize="22sp"
  83. android:textStyle="bold"/>
  84. </LinearLayout>
  85. </HorizontalScrollView>

注意:

1:原来,在HorizontalScrollView中,只可存在一个直接的子View。因此正确的用法是使用一个如LinearLayout这样的控件,将多个子View放入其中

2:HorizontalScrollView中LinearLayout的witdh属性应为”wrap_content”。

70

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. xmlns:app="http://schemas.android.com/apk/res-auto"
  5. xmlns:tools="http://schemas.android.com/tools"
  6. android:layout_width="match_parent"
  7. android:layout_height="match_parent"
  8. android:orientation="vertical">
  9. <HorizontalScrollView
  10. android:layout_width="match_parent"
  11. android:layout_height="wrap_content"
  12. android:scrollbars="none">
  13. <LinearLayout
  14. android:id="@+id/rl_title_log_activity"
  15. android:layout_width="wrap_content"
  16. android:layout_height="56dp"
  17. android:orientation="horizontal">
  18. <ImageView
  19. android:id="@+id/iv_back_log_activity"
  20. android:layout_width="wrap_content"
  21. android:layout_height="match_parent"
  22. android:layout_centerVertical="true"
  23. android:padding="16dp"
  24. android:scaleType="centerCrop"
  25. android:src="@drawable/icon_back_blue"/>
  26. <TextView
  27. android:id="@+id/tv_event_log_activity"
  28. android:layout_width="wrap_content"
  29. android:layout_height="match_parent"
  30. android:gravity="center"
  31. android:paddingLeft="@dimen/dp10"
  32. android:paddingRight="@dimen/dp10"
  33. android:text="Event"
  34. android:textColor="@color/blue"
  35. android:textSize="18sp"
  36. android:textStyle="bold"/>
  37. <TextView
  38. android:id="@+id/tv_http_log_activity"
  39. android:layout_width="wrap_content"
  40. android:layout_height="match_parent"
  41. android:gravity="center"
  42. android:paddingLeft="@dimen/dp10"
  43. android:paddingRight="@dimen/dp10"
  44. android:text="HTTP"
  45. android:textColor="@color/blue"
  46. android:textSize="18sp"
  47. android:textStyle="bold"/>
  48. <TextView
  49. android:id="@+id/tv_socket_log_activity"
  50. android:layout_width="wrap_content"
  51. android:layout_height="match_parent"
  52. android:gravity="center"
  53. android:paddingLeft="@dimen/dp10"
  54. android:paddingRight="@dimen/dp10"
  55. android:text="Socket"
  56. android:textColor="@color/blue"
  57. android:textSize="18sp"
  58. android:textStyle="bold"/>
  59. <TextView
  60. android:id="@+id/tv_agora_log_activity"
  61. android:layout_width="wrap_content"
  62. android:layout_height="match_parent"
  63. android:gravity="center"
  64. android:paddingLeft="@dimen/dp10"
  65. android:paddingRight="@dimen/dp10"
  66. android:text="Agora"
  67. android:textColor="@color/blue"
  68. android:textSize="18sp"
  69. android:textStyle="bold"/>
  70. <TextView
  71. android:id="@+id/tv_other_log_activity"
  72. android:layout_width="wrap_content"
  73. android:layout_height="match_parent"
  74. android:gravity="center"
  75. android:paddingLeft="@dimen/dp10"
  76. android:paddingRight="@dimen/dp10"
  77. android:text="Other"
  78. android:textColor="@color/blue"
  79. android:textSize="18sp"
  80. android:textStyle="bold"/>
  81. <TextView
  82. android:id="@+id/tv_clear_base_call_activity"
  83. android:layout_width="wrap_content"
  84. android:layout_height="wrap_content"
  85. android:gravity="center"
  86. android:paddingLeft="@dimen/dp10"
  87. android:paddingRight="@dimen/dp10"
  88. android:text="Clear"
  89. android:textColor="@color/blue"
  90. android:textSize="22sp"
  91. android:textStyle="bold"/>
  92. </LinearLayout>
  93. </HorizontalScrollView>
  94. <ListView
  95. android:id="@+id/lv_base_call_activity"
  96. android:layout_width="match_parent"
  97. android:layout_height="match_parent"
  98. android:layout_below="@+id/rl_title_log_activity">
  99. </ListView>
  100. </LinearLayout>

发表评论

表情:
评论列表 (有 0 条评论,150人围观)

还没有评论,来说两句吧...

相关阅读