2011-09-30 27 views
5

MediaController'ımın sadece ekranın sadece alt yarısına dokunması durumunda gizlenmesini istiyorum çünkü üst kısımda tek tıklamayla erişilmesi gereken bazı düğmeler var. Yani, ilk tıklama MediaController tarafından engelleniyor. i geliştiriciler doc okumak kadarıylaAndroid: MediaController'ın AnchorView kullanımı nedir?

:

... Özellikle, kontroller setAnchorView ile belirtilen görünümünün üst yüzer(). penceresi, üç saniyeliğine boşta bırakılırsa kaybolur ve kullanıcısı bağlantı görünümüne dokunduğunda yeniden görünür.

Benim anchor_view düzen: Denetleyici açıkken i anchor_view dışında ekrana dokunduğunuz zaman

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

Ancak, yine de yalnızca onu gizler ve düğmeler olayları patlamaz.

Bunu engellemenin bir yolu var mı?

+0

Bu problemi de yaşıyorum. çözümü buldunuz mu? –

cevap

4

Ankraj görünümü MediaController tarafından yalnızca denetleyicileri çizmeye başlaması gereken konumu elde etmek için kullanılır. Denetleyicilerin kendileri, tüm görünümlerinizin bağlı olduğu pencerenin üzerinde yüzen yeni penceresinde çekilir. Bir MediaController örneği oluşturulduğunda, bu yeni yüzer pencere oluşturuldu (dahili bir API kullanarak) ve bir dokunma dinleyicisi, dekor görüntüsüyle, yani tüm yüzeyiyle ilişkilendirilir. Bu nedenle, ekranın herhangi bir kısmına dokunmak medya denetleyicilerini gizlemeyle sonuçlanır ve bu yüzden bu davranışı özelleştirmenin kolay bir yolu olmadığına inanıyorum: MediaController'u uzatmanızı veya yeniden kullanmanızı gerektirebilir.

İlgili konular