【问题标题】:Visualize the wifi signal strength可视化 wifi 信号强度
【发布时间】:2013-03-18 11:32:48
【问题描述】:

我能够使用 wifimanager.getScanResults() 扫描所有 wifi 网络。 在下一步中,我提取了 wifi 网络的 SSID 和信号级别。

private List<String> showOnlySSIDAndLevel(List<ScanResult> networks) {
    List<String> networkList = new ArrayList<String>();
    for(ScanResult result : networks){
        int level = WifiManager.calculateSignalLevel(result.level, 5) + 1;
        String content = result.SSID + " \tSignal strength: " + level;
        networkList.add(content);
    }
    return networkList;
}

我有一个格式的信号电平,它在 1 - 5 之间(5 是最好的信号电平) 我如何使用它来获得不同 wifi 信号电平的图形表示。 我找不到这个的用户界面。我是否需要为 5 个可能级别中的每一个级别提供图形,还是有其他方法?内部 Android 设置(Wifi 扫描结果)是如何做到的?

【问题讨论】:

    标签: android android-layout android-wifi


    【解决方案1】:

    我认为找到了更好的选择...

    imageView.setIcon(android.R.drawable.stat_sys_wifi_signal_<strength>)
    

    其中强度是 0 到 4 范围内的变量...

    更多详情请参考 http://androiddrawableexplorer.appspot.com/

    【讨论】:

    • Here 是所有版本的 android 图标列表。 wifi 信号图标仅在 2.2 之前可用。例如,它在 Android 4 中不再可用。反正对我来说已经太晚了。我创建了自己的 wifi 图标,以 Open Clipart 和 Inkscape 开头,这相当简单
    【解决方案2】:

    您可以使用内置的RatingBar 组件。您可以通过给它一个ratingBarStyleSmall 或ratingBarStyleIndicator 样式使其只读。

    【讨论】:

    • 看到星星会不会让用户感到困惑,星星通常象征着评级?我宁愿展示某种 wifi 符号。与为每个信号级别创建 5 个图形相比,自定义此 UI 的样式有多难?
    • 确实,您可以定义使用不同图像的自定义样式。更多信息在这里:stackoverflow.com/a/2215186/1025599
    猜你喜欢
    • 2013-10-17
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多