【问题标题】:Adding a setting option in Android Settings.apk在 Android Settings.apk 中添加设置选项
【发布时间】:2014-02-19 02:24:12
【问题描述】:

我有一个状态栏信号图标,我想在 Cyanogenmod 的 Settings.apk 中设置一个选项。设置在那里,并为 STATUS_BAR_SIGNAL 分配了正确的 int 值,一旦选择了该选项,我就是不知道如何执行我的新图标。

目前,没有我的新选项,有3个选项;图标、文本和隐藏。图标显示股票图标,文本显示信号的 dBm 值,隐藏隐藏信号图标。 int 赋值为:Icon = 0, Text = 1, Hidden = 2 in android.provider.Settings.System.

SystemUI.statusbar中有两个java文件,没有我的图标; SignalClusterView.java 和 SignalClusterTextView.java。

我的新选项是 Always,我将其分配为 2,并将 Hidden 移至 3。但是,2 和 3 不会导致新图标,从而导致隐藏图标。

我在 SystemUI.statusbar 中创建了一个新图标 SignalClusterAlwaysView.java,但我不确定在 STATUS_BAR_SIGNAL 更改为 2 后需要在我的 java 文件中启用什么。

如果 STATUS_BAR_SIGNAL = 2,我如何让我的新图标执行?

【问题讨论】:

    标签: android options cyanogenmod


    【解决方案1】:

    好吧,我想通了;不确定 如何 链接,但确实如此。

    我需要在

    下创建我的代码
    public void setStyle(int style) {
        mSignalClusterStyle = style;
        updateVisibilityForStyle();
    

    或者在我的图标代码中类似的东西。

    style
    

    检索存储在 Settings.System.STATUS_BAR_SIGNAL 中的值,并使用 public 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);
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多