Android 可视化wifi信号强度

Android 可视化wifi信号强度,android,android-layout,android-wifi,Android,Android Layout,Android Wifi,我可以用wifimanager.getScanResults()扫描所有wifi网络。 在下一步中,我提取了wifi网络的SSID和信号电平 private List<String> showOnlySSIDAndLevel(List<ScanResult> networks) { List<String> networkList = new ArrayList<String>(); for(ScanResult result :

我可以用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;
}
专用列表仅显示SidandLevel(列表网络){
List networkList=new ArrayList();
用于(扫描结果:网络){
int-level=WifiManager.calculateSignalLevel(result.level,5)+1;
字符串内容=result.SSID+“\t信号强度:”+级别;
网络列表。添加(内容);
}
返回网络列表;
}
我有一个格式的信号电平,它在1-5之间(5是最好的信号电平) 我如何使用它以图形方式表示不同的wifi信号级别。
我找不到这个的用户界面。我是否需要5个可能的级别中的每一个的图形,或者是否有其他方法?Android内部设置(Wifi扫描结果)是如何实现的

您可以使用内置组件。你可以给它一个或样式,使它成为只读的。

我想我找到了一个更好的选择

imageView.setIcon(android.R.drawable.stat_sys_wifi_signal_<strength>)
imageView.setIcon(android.R.drawable.stat\u sys\u wifi\u信号)
其中,强度是一个介于0到4之间的变量

有关更多详细信息,请参阅

对于用户来说,看到通常象征评级的星星会不会让人感到困惑?我宁愿展示某种wifi符号。与仅为每个信号级别创建5个图形相比,自定义此UI的样式有多困难?实际上,您可以定义使用不同图像的自定义样式。更多信息:是所有版本的android图标列表。wifi信号图标仅在2.2之前可用。例如,它在Android 4中不再可用。反正对我来说太晚了。我创建了自己的wifi图标,从一个和Inkscape开始,这相当简单