0

我终于设法用一个按钮创建了一个简单的小部件(1x1 单元格)。在我的情况下(现在)祝酒。这实际上很难做到。小部件的工作方式与普通应用程序不同。

到目前为止,我的所有重要文件的代码:http:
//paste2.org/p/2427468


问题1:

我有一个普通的按钮,有背景。我在那个按钮上有一个@drawable/...xml,它定义了正常和按下状态的不同图像。这很好用。由于小部件不支持切换按钮,我不得不使用“按钮”,但我想要切换按钮的效果。因此,在单击按钮后,按下状态必须固定/冻结!再次单击后,我应该修复/冻结正常状态。你怎么做到这一点?



问题 2:

如果问题 1 有效:我需要对正常状态和按下状态采取不同的操作。我想降低/提高屏幕的亮度。

在我创建的应用程序中,这很有效:

    WindowManager.LayoutParams lp = getWindow().getAttributes();
    Toast.makeText(getBaseContext(),"Low brightness",Toast.LENGTH_LONG).show();
    lp.screenBrightness = 0.004F;
    float BackLightValue = lp.screenBrightness;
    int SysBackLightValue = (int)(BackLightValue * 255);
    android.provider.Settings.System.putInt(getContentResolver(),android.provider.Settings.System.SCREEN_BRIGHTNESS,SysBackLightValue);             
    getWindow().setAttributes(lp);

如何在小部件中实现这一点?

我相信我几乎完成了这个小部件,但需要解决这两个问题。

谢谢!

4

1 回答 1

2

不明白你的第一个问题,但对于第二个问题,你可以创建一个没有 UI 的活动并编写上面的代码来设置亮度。使用意图调用此活动并在它们之间共享数据。

于 2012-11-10T06:40:12.857 回答