2010-03-20 44 views
2

您好我是新黑莓开发..添加垂直滚动条在黑莓应用程序屏幕

我想在屏幕上添加一个垂直滚动条,但不能够做到这一点。因为我不知道路。 VerticalScrollManger scroll = new VerticalScrollManager(Manager.VERTICAL_SCROLL);

请给我解决方案。 谢谢

+0

重复http://stackoverflow.com/questions/2006076/blackberry-auto-scroll-vertical字段管理器 –

+0

对我来说看起来像一个不同的问题,另一个问题是关于使滚动自动发生,这个问题是关于显示滚动条。 –

回答

2

扩展net.rim.device.api.ui.Manager(如VerticalFieldManager)的东西可以在构造函数中设置样式位,用于指定所需的滚动类型以及滚动条是否滚动条(箭头)应显示。将您的字段放入启用了滚动功能的管理器中,并为屏幕设置管理器您需要设置包含组件/字段的管理器,该管理器对于启用滚动的屏幕而言太大,并且绘制滚动条以查看滚动箭头。

要设置的样式位是:Manager.VERTICAL_SCROLL | Manager.VERTICAL_SCROLLBAR

如果你的UI是建立在黑莓类的顶部MainScreen或全屏,您可以使用构造采取long类型来设置样式位的参数:可以调用MainScreen(long style)作为MainScreen(Manager.VERTICAL_SCROLL | Manager.VERTICAL_SCROLLBAR);来设置屏幕的样式位以包含滚动和垂直滚动指示箭头。

有一个偶尔的问题,即固定大小的FieldManagers有时不会显示滚动箭头(但它们仍然会滚动)。如果您担心这个问题,请参阅Blackberry VerticalFieldManager with fixed size : Scroll issue

0

如果通过滚动条表示小蓝箭头,则可以使用上述方法Jessica(设置样式位VERTICAL_SCROLLVERTICAL_SCROLLBAR)来显示这些箭头。但是,如果通过滚动条指的是指示滚动位置的实际条(如浏览器应用程序中所示),则您需要自己在管理器上绘制这些条,因为BlackBerry API不提供任何方式来显示他们自动。

要做类似的事情,您需要子类VerticalFieldManager并覆盖paint方法。使用屏幕高度(Display.getHeight()),管理器高度(getVirtualHeight())和滚动位置(getVerticalScroll())的组合来计算条的Y位置和高度,然后使用g.drawRect()或类似的东西在屏幕上绘制它。