我有一个scrollView.我希望它只在一个方向滚动(垂直).有没有办法可以锁定水平滚动... ?? ...
使用R shiny&DT包,我正在创建某些表.列数根据用户输入而变化,并且不固定.我已经包含以下代码片段以包含水平滚动条,以便当列数较大时,用户可以滚动不直接可见的列.
server.R:
output$results <- DT::renderDataTable({
DT::datatable(data = datasetInput(),
options = list(scrollX = TRUE,...)
)
})
<code reduced for brevity>
Run Code Online (Sandbox Code Playgroud)
使用上面的代码,水平滚动条最初不可见,但是当我点击一行并点击键盘上的右箭头时会出现.一旦表格被激发,滚动条是否有任何可见的方式,无论我有多少列,我都可以使用鼠标指针拖动滚动条?
更新:
我在下面的答案中尝试了代码,这就是我所看到的 - 没有水平滚动条.

我有一个这样的列表:
<div>
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
<li>four</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
和以下CSS:
ul {
width: 160px;
height: 100px;
overflow: auto;
}
li {
width: 80px;
display: inline-block;
float: left
}
Run Code Online (Sandbox Code Playgroud)
我正试图强制列表项从左到右显示,即
one - two - three - four
Run Code Online (Sandbox Code Playgroud)
我的问题:
这样做会给我两行,每行两个项目.
问题:
是否有CSS方法强制列表项全部在一行中,所以我可以使用水平滚动?现在如果我设置溢出:auto我只是得到垂直滚动条,我不想要.
我不想在包装div上设置它.我只是好奇我是否可以单独使用列表中的CSS解决方案.
感谢帮助!
我正在寻找一种在React-native中制作水平ListView或FlatList的方法.如下图所示:https://i.stack.imgur.com/D4RA5.jpg
我尝试使用Flex管理它,但这会让我产生奇怪的结果,并且总是使用垂直ListView
如果您有任何想法,请告诉我.
问候,
horizontal-scrolling react-native react-native-listview react-native-android react-native-ios
我有一个HorizontalScrollView包含一个RelativeLayout.此布局在XML中为空,并在onCreate中从java填充.
我希望这个滚动视图最初位于中间的某个位置RelativeLayout,这比屏幕大.
我试过mHorizScrollView.scrollTo(offsetX, 0);哪个不起作用.我不知道这有什么问题.
我可以发布代码,但它并不真正相关.重要的是一切都是以编程方式完成的(必须:s),并且HorizontalScrollView必须以编程方式设置初始位置.
谢谢阅读.请告诉我您是否需要更多详细信息,或者这是否不够清楚.
刚才,我不小心偶然发现了http://www.benekdesign.com/.在鼠标滚轮上滚动它执行水平滚动.说真的,我不喜欢这个功能.这有点刺激.但是,请告诉我如何实现同样的目标.
编辑
哇,萤火虫说他正在使用
/*水平微小滚动 - 水平网站的平滑滚动脚本2(垂直"Tiny Scrolling"的兄弟)3 Marco Rosella - http://www.centralscrutinizer.it/en/design/js-php/horizontal-tiny - 滚动 4 v0.6 - 2007年2月14日
我正在开发一个由Wordpress驱动的网站的iPhone版本,我想知道在Safari for iPhone中打开网站时是否有任何禁用水平滚动的方法.现在,我正处于开发的一半,只是为了检查是否可以禁用水平滚动,我隐藏了任何超出屏幕宽度的元素,但我仍然可以水平向右滚动.我尝试将以下代码放在<style>标签中,<head>但这没有帮助:
body {overflow-x:hidden; }
我已经将以下<meta>代码放在头文件中以回显如果用户正在从iPhone查看网站但它只是禁用用户捏,即你不能通过捏屏来放大和缩小.
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
Run Code Online (Sandbox Code Playgroud)
我目前正在使用iPhone 4查看网站,可以通过以下链接访问该网站:http://ignoremusic.com.期待你们的解决方案,谢谢.
解决方案:正如@Riskbreaker所建议的那样,有一些元素的宽度超过了~312px,这就是为什么我仍然可以向左滑动,调整所有这些元素的宽度后,我禁用了水平滑动.我学到的一件事是隐藏overflow-x对于iPhone/iPad没有帮助,你必须将所有元素的宽度减小到屏幕宽度的宽度,否则你仍然可以水平滑动.
我有一个垂直的nestedscrollview,其中包含一堆带有水平布局管理器设置的recyclerview.这个想法非常类似于新的谷歌游戏商店的外观.我能够使它起作用,但它根本不光滑.以下是问题:
1)水平回收视图项目大多数时间都无法拦截触摸事件,即使我点击它也是如此.滚动视图似乎优先于大多数动作.我很难在水平运动上找到钩子.这个用户体验令人沮丧,因为我需要在它工作之前尝试几次.如果你检查游戏商店,它能够很好地拦截触摸事件,它只是运作良好.我注意到在游戏商店中他们设置的方式是在一个垂直的回收者视图中的许多水平回收视图.没有滚动视图.
2)水平回收视图的高度必须手动设置,并且没有简单的方法来计算子元素的高度.
这是我正在使用的布局:
<android.support.v4.widget.NestedScrollView
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:background="@color/dark_bgd"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/main_content_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
tools:visibility="gone"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:id="@+id/starring_list"
android:paddingLeft="@dimen/spacing_major"
android:paddingRight="@dimen/spacing_major"
android:layout_width="match_parent"
android:layout_height="180dp" />
Run Code Online (Sandbox Code Playgroud)
此UI模式非常基本,很可能在许多不同的应用程序中使用.我已经阅读了许多SO,其中ppl说将列表放在列表中是一个坏主意,但它是一个非常普遍和现代的UI模式在整个地方使用.想看netflix就像界面里面有一系列水平滚动列表垂直清单.有没有一个顺利的方法来实现这一目标?
来自商店的示例图片:
android horizontal-scrolling android-recyclerview nestedscrollview
android ×3
css ×2
html ×2
iphone ×2
css-float ×1
datatables ×1
html-lists ×1
ios ×1
ipad ×1
javascript ×1
jquery ×1
r ×1
react-native ×1
scroll ×1
scrollbar ×1
scrollview ×1
shiny ×1
uiscrollview ×1