2011-09-30 9 views
5

私はMediaControllerを非表示にするには、画面の下半分だけをタッチする必要があります。なぜなら、1回のクリックでアクセスできる必要がある上部のボタンがいくつかあるからです。 つまり、最初のクリックがMediaControllerによって傍受されることはありません。私は開発者ドキュメント上で読んだからAndroid:MediaControllerのAnchorViewはどのような用途ですか?

...具体的には、コントロール はsetAnchorViewで指定されたビューの上に浮いてます()。 ウィンドウが3秒間アイドル状態になると消え、 ユーザーがアンカービューに触れると再び表示されます。

マイanchor_viewレイアウト:まだ

<View android:id="@+id/player_control" 
    android:layout_width="wrap_content" 
    android:layout_height="100dip" 
    android:layout_alignParentBottom="true"> 
</View >  

、私はanchor_view外で画面をタッチするたびにコントローラが、上にあるとき、それはまだだけそれを隠し、ボタンのイベントを発生しません。

これを防止する手段はありますか?

+0

私はこの問題も抱えています。解決策を見つけたことはありますか? –

答えて

4

MediaControllerによってアンカービューが参照として使用され、コントローラの描画を開始する位置を取得します。コントローラそのものは、すべてのビューが添付されたウィンドウ上に浮動小数点のウィンドウで描画されます。 MediaControllerのインスタンスが作成されると、この新しいフローティングウィンドウが(内部APIを使用して)構築され、タッチリスナーがそのデコレーションビュー、すなわちその全面に関連付けられる。このため、画面のどの部分に触れてもメディアコントローラが表示されないため、この動作を簡単にカスタマイズする方法はないと考えています。MediaControllerを拡張または再実装する必要があります。

関連する問題