0

Smarteyeglass アプリで (ビットマップ レンダリングではなく) レイアウト レンダリングを使用しています。現在のビューへの参照を取得するにはどうすればよいですか?

コードで計算された値に従って、レイアウト内の 1 つの ImageView を回転させたいと思います。だから私はこのようなことをする必要があります:

    ViewGroup view = <GET THE VIEW HERE>
    RelativeLayout relativeLayout = (RelativeLayout) RelativeLayout.inflate(context,
                    currentLayout, view);
    relativeLayout.findViewById(R.id.my_view_object).setRotation(20);

しかし問題は、ルート ビューへの参照を取得する方法が見つからないことです。

次のコードを使用してレイアウトを表示しています。

    Intent intent = new Intent(Control.Intents.CONTROL_PROCESS_LAYOUT_INTENT);
    intent.putExtra(Control.Intents.EXTRA_DATA_XML_LAYOUT, R.layout.my_layout_id);
    sendToHostApp(intent);

ビューへの参照を返しません。

4

1 に答える 1

0

残念ながら、レイアウト内のビュー要素に動的にアクセスすることはできません。showLayout メソッドまたは sendToHostApp メソッドを使用すると、レイアウトが SmartEyeglass に静的に送信されるためです。

ビュー要素に詳細な変更を加えたい場合は、完全なレイアウトを再度送信する必要があります。

ただし、ビュー要素のテキストまたは画像コンテンツを変更しようとしている場合は、sendText および sendImage メソッドを使用できます。

于 2016-05-30T11:33:14.237 に答える