我有一个状态栏信号图标,我想做一个选择,在Settings.apk上的Cyanogenmod。设置在那里,并将正确的int值分配给STATUS_BAR_SIGNAL,我只是想不出在选择该选项后如何执行我的新图标。
目前,没有我的新选项,有三个选项:图标,文本和隐藏。图标显示股票图标,文本显示信号的dBm值,隐藏信号图标。int赋值是: android.provider.Settings.System中的图标= 0,文本= 1,隐藏=2。
没有我的图标,SystemUI.statusbar中有两个java文件;SignalClusterView.java和SignalClusterTextView.java。
我的新选项总是,我分配给它2,并移动到3。然而,2和3不会导致一个新的图标,从而产生一个隐藏的图标。
我在SystemUI.statusbar ( SignalClusterAlwaysView.java )中创建了一个新图标,但我不确定一旦STATUS_BAR_SIGNAL更改为2,需要在java文件中启用它。
如果STATUS_BAR_SIGNAL = 2,如何使我的新图标执行?
发布于 2014-02-19 13:07:27
我想明白了;不知道它是怎么联系的,但它确实联系到了。
我需要在下面创建代码
public void setStyle(int style) {
mSignalClusterStyle = style;
updateVisibilityForStyle();或者我的图标代码中类似的东西。
style检索存储在Settings.System.STATUS_BAR_SIGNAL中的值,并使用公共int来定义每个值的含义,因此在我的示例中必须添加;
public static final int STYLE_ALWAYS = 2;到主SignalClusterView.java的顶部。
所以我最终得到了这样的结论:
if (mSignalClusterStyle == STYLE_ALWAYS) {
mMobileType.setVisibility(View.VISIBLE);
}
else if (!mIsAirplaneMode && mMobileGroup != null) {
mMobileGroup.setVisibility(mSignalClusterStyle != STYLE_NORMAL
? View.GONE : View.VISIBLE);
}https://stackoverflow.com/questions/21869758
复制相似问题