【问题标题】:How to scroll through items in a list using bezel in Samsung Tizen Gear s2?如何在三星 Tizen Gear s2 中使用边框滚动列表中的项目?
【发布时间】:2015-10-27 12:31:38
【问题描述】:

我有一个问题一直在处理。我为 gear s2 做网络应用开发。

我想在我的应用程序中执行的操作与您在手表本身中执行的操作完全相同。

例如,在“设置”中,您有一个垂直列表,您可以通过旋转表圈来滚动浏览项目。

根据这个问题我知道Rotarty (ring) on Samsung Tizen Gear S2 应该使用这个事件:

 rotaryDetentCallback = function rotaryDetentHandler(e) {
    var direction = e.detail.direction;
    if (direction === "CW") {
        // TODO: do something

    } else if (direction === "CCW") {
        // TODO: do something

    }
};

window.addEventListener("rotarydetent", rotaryDetentCallback);

我怎样才能让它在 if() 中工作以滚动列表中的项目?

【问题讨论】:

    标签: javascript scroll rotation ring tizen-web-app


    【解决方案1】:

    这取决于您要显示的列表类型。

    对于静态列表项,TAU 框架已经为您解决了这个问题。所以你不需要在脚本端添加任何东西。

    静态内容示例:

    <ul data-role="listview" >
      <li>item 1</li>
      <li>item 2</li>
      <li>item 3</li>
      <li>item 4</li>
      <li>item 5</li>
      <li>item 6</li>
      <li>item 7</li>
      <li>item 8</li>
    </ul>
    

    对于动态内容,此功能仍有缺陷,但可能。您必须在"pagebeforeshow"(不是"pageshow")中更新您的动态列表的内容。一旦你这样做了,它的行为就好像它是一个静态列表。

    动态内容示例:

    在您的 html 中:

    <ul id="myListView" data-role="listview" >
    </ul>
    

    在你的 js 中:

    page.addEventListener("pagebeforeshow", function () {
        var element = document.getElementById("myListView");
        var myListView = tau.widget.Listview(element);
    
        myListView.addItem("<li>item 1</li>", 1);
        myListView.addItem("<li>item 2</li>", 2);
        myListView.addItem("<li>item 3</li>", 3);
        myListView.addItem("<li>item 4</li>", 4);
        myListView.addItem("<li>item 5</li>", 5);
        myListView.addItem("<li>item 6</li>", 6);
        myListView.addItem("<li>item 7</li>", 7);
        myListView.addItem("<li>item 8</li>", 8);
    });
    

    希望这些示例对您有用。

    【讨论】:

    • 非常感谢您的回复。我有一个静态列表视图,但挡板无法正常工作,所以我认为我的 .js 不正确。但我刚刚查看了一个示例列表,正如你所说,它已经有效了!
    • 嗨@Armin。我还有一个问题。我有一个带有“文本”内容的简单页面。我再次无法使用挡板上下滚动它。你知道如何解决这个问题吗?谢谢。
    • 嗨!我还没有尝试过。我建议将其作为一个新问题发布,当我找到答案时,我会在那里回答。
    • 动态列表有问题。当我尝试添加项目时,我收到了这个错误:TypeError: 'undefined' is not a function (evaluating 'myListView.addItem("&lt;li&gt;item 1&lt;/li&gt;", 1)')。我已经完成了与上面相同的实现;但我仍然有一个错误。你有什么建议吗?
    • 这个错误意味着addItem没有定义。这可能是由于上一行正在创建 myListView 而没有正确发生。由于 myListView 是由tau 创建的,请确保 TAU 库已正确加载且其中没有错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多