5

値を Android RemoteView に転送しようとしています。一部の値は、リフレクションを使用する set メソッドを介して転送できます。たとえば、背景色は機能します:

rv.setInt(R.id.viewId, "setBackgroundColor", 0xffff0000);

このメカニズムは、1 つのパラメーター メソッド呼び出しに対してはかなり汎用的に見えますが、特定のメソッドに対しては機能しません。例えば。ビューにアルファを設定しても機能しません (API レベル 15 で実行):

rv.setFloat(R.id.viewId, "setAlpha", 0.5f);

フレームワークは実行時に setAlpha(float) がサポートされていないことを訴えます。なぜそうなのか誰か知っていますか?リモート ビューでサポートされるメソッドのルールは何ですか? アルファがその中に含まれないのはなぜですか?

アップデート:

CommonsWare からの回答は正しいです。さらに調査した結果、 ImageView.setAlpha( int ) がリモート可能であることが興味深いかもしれません。画像にアルファを設定するだけなので、ninepatches などには適用されません。

4

1 に答える 1

7

なぜそうなのか誰か知っていますか?リモート ビューでサポートされるメソッドのルールは何ですか?

setBackgroundColor()@RemotableViewMethod注釈があります。setAlpha()ではない。

アルファがその中に含まれないのはなぜですか?

それは、具体的な技術的な理由から単純な見落としまで、あらゆる可能性があります。http://b.android.comで機能リクエストを提出して、その注釈を Android の将来のバージョンに追加するか、実装してパッチを送信してください。

于 2012-07-07T14:02:19.817 に答える