android中显示不同的wifi信号图标。
四张图片:1.png,2.png,3.png,4.png. 具体实现。
1、使用属性java代码
vh.securityImageView.setImageLevel(accessPoint.getLevel());
vh.securityImageView.setImageResource(R.drawable.wifi_signal);
vh.securityImageView.setImageState((accessPoint.security != AccessPoint.SECURITY_NONE) ?
AccessPoint.STATE_SECURED : AccessPoint.STATE_NONE, true);
2、定义属性xml文件
wifi_signal.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res/ com.cyanogenmod.account"><item settings:state_encrypted="true" android:drawable="@drawable/wifi_signal_lock" />
<item settings:state_encrypted="false" android:drawable="@drawable/wifi_signal_open" />
</selector>
wifi_signal_lock.xml
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:maxLevel="0" android:drawable="@drawable/ic_wifi_lock_signal_1" />
<item android:maxLevel="1" android:drawable="@drawable/ic_wifi_lock_signal_2" />
<item android:maxLevel="2" android:drawable="@drawable/ic_wifi_lock_signal_3" />
<item android:maxLevel="3" android:drawable="@drawable/ic_wifi_lock_signal_4" />
</level-list>
wifi_signal_open.xml
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:maxLevel="0" android:drawable="@drawable/ic_wifi_signal_1" />
<item android:maxLevel="1" android:drawable="@drawable/ic_wifi_signal_2" />
<item android:maxLevel="2" android:drawable="@drawable/ic_wifi_signal_3" />
<item android:maxLevel="3" android:drawable="@drawable/ic_wifi_signal_4" />
</level-list>
attrs.xml
<resources>
<declare-styleable name="WifiEncryptionState">
<attr name="state_encrypted" format="boolean" />
</declare-styleable>
</resources>
public static final int[] STATE_SECURED = {
R.attr.state_encrypted
};
public static final int[] STATE_NONE = {};