2009-05-27 12 views
0

私は1つの(MapViewのような)コントロールとそれに重なるいくつかの追加のボタンを含むFrameLayoutビューを持っています。 (レイアウトxmlは下にあります)。Androidビューでトラックボールの動作を制御する方法は?

私はユーザーがタッチだけでなくトラックボールを使ってメインビューをパン/スクロールできるようにします。 問題は、トラックボールを使用するだけで、レイアウト上のすべてのコントロール間のフォーカスが切り替わり、onTrackballEventをMainViewだけに含める方法が見つからないようです。

事前に感謝の意を表します。

<?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> 
+0

あなたは 'android:focusable'プロパティで遊んだことがありますか? – Ari

+0

フォーカス可能なコントロールは、コントロール間でどのように移動するかを制御します。私が質問で意味したものではありません – reflog

答えて

1

トリックは、カスタムビューでdispatchTrackballを上書きし、イベントを取得することです。

私はこれが誰かを助けてくれることを願っています。

+0

こんにちはreflog、私は同じ状況に陥っています、私はサンプルコードがありますか? – Shardul

0

パンニングは、フォーカス可能なプロパティの前に述べたように単純に実装されています.mapviewのfocusable属性をtrueに設定します。マップビューにフォーカスを合わせると、トラックボールでマップがパンされます。

関連する問題