0

私は最終的に、何かを行うボタンが 1 つある単純なウィジェット (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);

これをウィジェットにどのように実装しますか?

このウィジェットの使用はほぼ完了したと思いますが、これら 2 つの質問に手を貸す必要があります。

ありがとう!

4

1 に答える 1

2

最初の質問はわかりませんが、2番目の質問では、UIのない​​アクティビティを作成し、上記のコードを記述して明るさを設定できます。インテントを使用してこのアクティビティを呼び出し、データを共有します。

于 2012-11-10T06:40:12.857 に答える