可以ListView
横向制作吗?我这样做了使用图库视图,但所选项目自动进入屏幕中心.我不希望所选项目在我点击的同一位置.我该如何纠正这个问题?我的想法是设置ListView
水平滚动.分享你的想法?
当我设置时overflow: scroll
,我得到水平和垂直滚动条.
有没有办法删除div中的水平滚动条?
我正在尝试使用RecyclerView在这里制作类似旋转木马的视图,我希望项目在滚动时在屏幕中间捕捉,一次一个项目.我试过用了recyclerView.setScrollingTouchSlop(RecyclerView.TOUCH_SLOP_PAGING);
但是视图仍然滚动顺畅,我也尝试使用滚动侦听器来实现我自己的逻辑,如下所示:
recyclerView.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
Log.v("Offset ", recyclerView.getWidth() + "");
if (newState == 0) {
try {
recyclerView.smoothScrollToPosition(layoutManager.findLastVisibleItemPosition());
recyclerView.scrollBy(20,0);
if (layoutManager.findLastVisibleItemPosition() >= recyclerView.getAdapter().getItemCount() - 1) {
Beam refresh = new Beam();
refresh.execute(createUrl());
}
} catch (Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
从右到左的滑动现在工作正常,但不是相反,我在这里缺少什么?
根据示例http://twitter.github.com/bootstrap/base-css.html#code,bootstrap仅支持<pre>
开箱即用的可垂直滚动和自动换行的块.我如何制作它以便我可以使用水平可滚动的,未包装的代码块?
我有一个包含LinearLayout的HorizontalScrollView.在屏幕上我有一个Button,它将在运行时向LinearLayout添加新的视图,我希望滚动视图在添加新视图时滚动到列表的末尾.
我几乎让它工作 - 除了它总是滚动一个视图而不是最后一个视图.在没有首先计算包含新视图的情况下,它似乎在滚动.
在我的应用程序中,我使用的是自定义View对象,但我制作了一个使用ImageView并具有相同症状的小型测试应用程序.我在Layout和ScrollView上尝试了各种各样的东西,比如requestLayout(),我尝试了scrollTo(Integer.MAX_VALUE),它滚动到了netherverse :)我是否违反了UI线程问题?
======
public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button b = (Button) findViewById(R.id.addButton);
b.setOnClickListener(new AddListener());
add();
}
private void add() {
LinearLayout l = (LinearLayout) findViewById(R.id.list);
HorizontalScrollView s =
(HorizontalScrollView) findViewById(R.id.scroller);
ImageView i = new ImageView(getApplicationContext());
i.setImageResource(android.R.drawable.btn_star_big_on);
l.addView(i);
s.fullScroll(HorizontalScrollView.FOCUS_RIGHT);
}
private class AddListener implements View.OnClickListener {
@Override
public void onClick(View v) {
add();
}
}
}
Run Code Online (Sandbox Code Playgroud)
布局XML: …
编辑:看看我自己的答案,以便于解决
重要提示:Bounty提供了明确的方式来修改ViewPager以满足下面概述的方案.请不要提供HorizontalScrollView - 我需要覆盖完整的Fragment生命周期场景
我需要实现Fragments
基于视图的水平滚动,其中一个项目位于中心,右侧/左侧的项目部分或完全可见.ViewPager
不适合这项任务,因为它专注于每次显示一个项目.
为了便于理解,下面是一个快速草图,其中第1项,第5项和第6项位于可视区域之外.并且想要使这个可查看的数字可配置,例如在纵向视图中,我将只显示2个(或可能只是一个)项目.
我不打算在屏幕上说出3个项目,只要显示中心项目,其他项目就可以被裁剪.在小屏幕上可以有1个中心项目,并且当屏幕增大时,应显示多个(裁剪为OK)项目
我知道这看起来像一个画廊但是这些项目不是简单的图像,而是Fragments
在每个片段中都有一个可垂直滚动的列表
PS找到了@Commonsware的这篇博文,其中列出了3种不同的方法.根据我的需要,我喜欢#3
我做了一个Horizontal RecyclerView,它运行正常(感谢这一点),但滚动和数据的方向从左向右扩展; 那么如何更改RecyclerView滚动方向,如下图所示?
我的代码:
StaggeredGridLayoutManager staggeredGridLayoutManager =
new StaggeredGridLayoutManager(
2, //The number of Columns in the grid
LinearLayoutManager.HORIZONTAL);
Run Code Online (Sandbox Code Playgroud) 我用jQuery和jqGrid开发了AJAX接口.
如何从jqGrid表中删除水平滚动条?
http://dskarataev.ru/jqgrid.png
如果我设置autowidth: true
,那么我得到table的宽度=列的总宽度,但我需要table = table的宽度=父元素的宽度与函数返回的idgetSelectedTabHref()
所以我发挥功能:
$(window).bind('resize', function() {
$('#tasks').setGridWidth($(getSelectedTabHref()).width());
$('#tasks').setGridHeight($(window).height()-190);
}).trigger('resize');
Run Code Online (Sandbox Code Playgroud)
这是我如何创建jqGrid表:
$('#tasks').jqGrid({
datatype: 'local',
colNames:[labels['tasksNum'],labels['tasksAdded']+"/"+labels['tasksAccepted'],labels['tasksOperator'],labels['tasksClient'],labels['tasksManager'],labels['tasksDesc']],
colModel :[
{name:'taskId', index:'taskId', width:1, align:'right'},
{name:'taskAdded', index:'taskAdded', width:3},
{name:'taskOperator', index:'taskOperator', width:4},
{name:'taskClient', index:'taskClient', width:7},
{name:'taskManager', index:'taskManager', width:4},
{name:'taskDesc', index:'taskDesc', width:8}]
});
Run Code Online (Sandbox Code Playgroud)
我的CSS看起来像这样:
div.SOMECLASS {
position: absolute;
max-height: 300px
height: auto;
width: auto;
overflow: auto;
...
}
Run Code Online (Sandbox Code Playgroud)
div高度和宽度自动缩放.虽然高度已固定最大值:一旦达到此值,就会出现垂直滚动条.这很有效.
现在的问题:
如果垂直滚动条出现,他们使用了周围的10px的水平空间,如滚动条将放在里面的div
.
但是,宽度不是自动调整的,以允许垂直滚动条使用的这些额外的10个像素.由于添加垂直滚动条之前的水平宽度恰好适合内容(正如width:auto
设置所预期的那样),div
现在还显示水平滚动条 - 允许缺少10个像素.这太傻了.
div
以使垂直滚动条适合?如果可能的话我找的不依赖于只是完全禁用水平滚动,因为这可能会在某些时候需要(即对某些输入)的解决方案.