Androidのビューでトラックボールの動作を制御するには?
-
06-09-2019 - |
質問
私は1つ(のMapViewのような)制御し、それを重ね、いくつかの追加ボタンが含まれているでframeLayoutビューを持っています。 (レイアウトXMLは以下の通りである)。
私は、ユーザーが/パンだけでなく、タッチだけでなく、トラックボールを使ってメインビューをスクロールできるようにしたいです。 問題がある - トラックボールを使用すると、ちょうどレイアウト上のすべてのコントロール間でフォーカスを切り替えて、私はちょうどMAINVIEWへのonTrackballEventのを格納するための方法を見つけるように見えることはできません。
。任意の提案は、事前に感謝歓迎されています。
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<FrameLayout android:id="@+id/pageView"
xmlns:panel="http://schemas.android.com/apk/res/com.yappa"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<MainView
android:id="@+id/mainView"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</MainView>
<ZoomControls android:id="@+id/ZoomControls01"
android:layout_gravity="bottom|center"
android:layout_height="wrap_content" android:layout_width="wrap_content">
</ZoomControls>
<Panel
....
</Panel>
</FrameLayout>
</merge>
解決
トリックは、カスタムビューでdispatchTrackball
をオーバーライドして、イベントをつかむことです。
私は、これは誰かに役立ちます願っています。
他のヒント
パンは、単純に、フォーカス可能なプロパティの前に述べたようで実装trueにあなたのMapViewのフォーカス可能な属性を設定し、フォーカスでのMapViewを配置しているとき、それは確かにトラックボールでマップをパンします。
されます所属していません StackOverflow