Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 如何将水平滚动设置为水平字段管理器_User Interface_Blackberry_Horizontal Scrolling - Fatal编程技术网

User interface 如何将水平滚动设置为水平字段管理器

User interface 如何将水平滚动设置为水平字段管理器,user-interface,blackberry,horizontal-scrolling,User Interface,Blackberry,Horizontal Scrolling,以下代码段包含一个水平字段管理器,其中添加了五个按钮 1。我无法将水平滚动设置为水平字段管理器,因为我无法访问按钮4和按钮5 2.通常我们按以下方式设置水平滚动 horizontalFieldManager= 新的HorizontalFieldManager(使用|全部|宽度| HorizontalFieldManager.FIELD |左侧|水平|滚动); 但是,由于我在水平字段管理器的构造函数中添加了按钮,所以我无法使用它 3.我找到了这个属性:horizontalFieldManager

以下代码段包含一个水平字段管理器,其中添加了五个按钮

1。我无法将水平滚动设置为水平字段管理器,因为我无法访问按钮4和按钮5

2.通常我们按以下方式设置水平滚动

horizontalFieldManager=
新的HorizontalFieldManager(使用|全部|宽度| HorizontalFieldManager.FIELD |左侧|水平|滚动);
但是,由于我在水平字段管理器的构造函数中添加了按钮,所以我无法使用它

3.我找到了这个属性:
horizontalFieldManager.sethorizontalcoll(位置)
其中包含参数:position,其中position应该是新的水平滚动位置。我试图通过水平场管理器的x坐标,但它不起作用。我应该传递什么作为
位置
参数

HorizontalFieldManager容器=新的HorizontalFieldManager()
{  
受保护的空位子布局(int-maxWidth、int-maxHeight)
{   
字段=空;
int x=0;
int y=0;
int maxFieldHeight=0;
对于(int i=0;i
HorizontalFieldManager构造函数 如果您只需更改调用
HorizontalFieldManager
构造函数的方式,请执行以下操作:

HorizontalFieldManager容器=新的HorizontalFieldManager(){
受保护的空位子布局(int-maxWidth,int-maxHeight){
为此:

HorizontalFieldManager容器=
新的HorizontalFieldManager(Manager.HORIZONTAL_SCROLL | Manager.HORIZONTAL_SCROLLBAR){
受保护的空位子布局(int-maxWidth,int-maxHeight){
然后,您将能够水平滚动,并达到所有五个按钮


次级布局() 在您的
sublayout()
方法中,您似乎在布局字段,就像
HorizontalFieldManager
通常所做的那样。因此,我认为添加该代码没有任何意义。只需执行以下操作:

HorizontalFieldManager容器=
新的HorizontalFieldManager(Manager.HORIZONTAL_SCROLL | Manager.HORIZONTAL_SCROLLBAR);
ButtonField button1=新的ButtonField(“button1”);
/*代码的其余部分是相同的*/
如果以后要控制按钮之间的间距,请使用边距:

ButtonField button1=新的按钮字段(“buttonn1”);
按钮1.设置边距(10,10,10,10);
按钮字段按钮2=新按钮字段(“按钮2”);
按钮2.设置边距(10,10,10,10);

通常,使用
水平字段管理器
,或
垂直字段管理器
覆盖
子布局()
。如果你真的想要自定义行为,你应该直接用你自己的子类扩展
管理器。

…发生了什么事?我测试了这段代码,当你使用该构造函数时,该字段可以滚动。我不清楚你是否只想让用户能够将按钮滚动到右边t(查看按钮4和5),或者您是否希望代码自动滚动到第4和第5个按钮,隐藏前两个按钮。您可以提供更多信息吗?我尝试调用HorizontalFieldManager容器=新HorizontalFieldManager(Manager.HORIZONTAL_scroll | Manager.HORIZONTAL_SCROLLBAR){受保护的void子布局(int-maxWidth,int-maxHeight){而不是HorizontalFieldManager容器=新的HorizontalFieldManager(){受保护的void子布局(int-maxWidth,int-maxHeight){//这里我使用代码片段中提到的for循环添加了字段,但它不起作用。我是否遗漏了什么?嗨,Nate,我希望用户能够向右滚动按钮以查看按钮4和5。在您的第一条评论中:您仍然覆盖
子布局()
方法。请查看我的完整答案,因为我建议不要这样做。请参阅更新答案中我标题为sublayout()的部分。如果您这样做,用户将能够通过在HorizontalFieldManager区域内的手指滑动(或使用滚轮)向右滚动到按钮4和5。谢谢。正如您在我的sublayout()中所说的那样方法,我似乎像HorizontalFieldManager通常那样布置字段,所以我最终决定选择后者。