HorizontalScrollView 隐藏其子视图
Posted
技术标签:
【中文标题】HorizontalScrollView 隐藏其子视图【英文标题】:HorizontalScrollView hides its child views 【发布时间】:2017-12-30 01:27:18 【问题描述】:每当我在 xml 文件中包含带有水平滚动视图标签的自定义视图时,视图似乎都消失了。 在之前的相关问题中,它被称为
"如果你设置水平滚动视图隐藏它的子视图 android:layout_gravity="center_horizontal" 用于内部容器。"
<HorizontalScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/scroll"
android:layout_
android:layout_
android:fillViewport="true" >
<RelativeLayout
android:layout_
android:layout_
android:orientation="horizontal"
tools:layout_constraintTop_creator="1"
tools:layout_constraintRight_creator="1"
tools:layout_constraintBottom_creator="1"
android:layout_marginStart="8dp"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginEnd="8dp"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginTop="8dp"
tools:layout_constraintLeft_creator="1"
android:layout_marginBottom="8dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp">
<com.example.mahikanthnag.cs.views.StateProgressBar
android:id="@+id/your_state_progress_bar_id"
android:layout_
android:layout_
app:spb_currentStateNumber="three"
app:spb_maxStateNumber="four"
app:spb_stateBackgroundColor="#BDBDBD"
app:spb_stateForegroundColor="#009688"
app:spb_stateNumberBackgroundColor="#808080"
app:spb_stateNumberForegroundColor="#eeeeee"
app:spb_currentStateDescriptionColor="#009688"
app:spb_stateDescriptionColor="#808080"
app:spb_animateToCurrentProgressState="true"
app:spb_checkStateCompleted="true"
/>
<com.example.mahikanthnag.cs.views.StateProgressBar
android:id="@+id/your_state_progress_bar_id1"
android:layout_
android:layout_
app:spb_currentStateNumber="three"
app:spb_maxStateNumber="four"
app:spb_stateBackgroundColor="#BDBDBD"
app:spb_stateForegroundColor="#009688"
app:spb_stateNumberBackgroundColor="#808080"
app:spb_stateNumberForegroundColor="#eeeeee"
app:spb_currentStateDescriptionColor="#009688"
app:spb_stateDescriptionColor="#808080"
app:spb_animateToCurrentProgressState="true"
app:spb_checkStateCompleted="true"
android:layout_toRightOf="@+id/your_state_progress_bar_id"
/>
<com.example.mahikanthnag.cs.views.StateProgressBar
android:id="@+id/your_state_progress_bar_id2"
android:layout_
android:layout_
app:spb_currentStateNumber="three"
app:spb_maxStateNumber="four"
app:spb_stateBackgroundColor="#BDBDBD"
app:spb_stateForegroundColor="#009688"
app:spb_stateNumberBackgroundColor="#808080"
app:spb_stateNumberForegroundColor="#eeeeee"
app:spb_currentStateDescriptionColor="#009688"
app:spb_stateDescriptionColor="#808080"
app:spb_animateToCurrentProgressState="true"
app:spb_checkStateCompleted="true"
android:layout_toRightOf="@+id/your_state_progress_bar_id1"
/>
</RelativeLayout>
</HorizontalScrollView>
但就我而言,我根本没有 android:layout_gravity 属性。我该如何解决这个问题?
这是我添加自定义视图的布局 xml 文件
欢迎任何建议 谢谢
【问题讨论】:
【参考方案1】:使用线性布局代替相对布局,如下所示:
<LinearLayout
android:layout_
android:layout_
android:gravity="center"
android:orientation="horizontal">
<HorizontalScrollView
android:layout_
android:layout_
android:scrollbars="none">
<LinearLayout
android:id="@+id/travelGallery"
android:layout_
android:layout_
android:gravity="center"
android:orientation="horizontal" >
<Your view 1/>
<Your view 2/>
<Your view n/>
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
【讨论】:
我也使用了LinearLayout,但结果是一样的。有没有其他办法 上面的代码对我来说很好用。或者你可以做另一件事。将您的视图保存在单独的布局文件中并将其膨胀到父布局中。在我的情况下,父布局是travelGallery
。如果你需要,我可以给你一个示例代码。
感谢山姆,第一个解决方案实际上对我有用。前几天犯了一些错误。谢谢你:)以上是关于HorizontalScrollView 隐藏其子视图的主要内容,如果未能解决你的问题,请参考以下文章
HorizontalScrollView 以编程方式滚动而没有焦点
如何修复 HorizontalScrollView 的滚动宽度?
DrawerLayout 与 HorizontalScrollView 进入内容菜单
HorizontalScrollView 中的自定义视图不滚动