كيفية التحكم في سلوك كرة التتبع في وجهات النظر أندرويد؟

StackOverflow https://stackoverflow.com/questions/915960

سؤال

لدي عرض FRAMELAYOUT الذي يحتوي على عنصر تحكم واحد (مثل MAPView) وبعض الأزرار الإضافية تطفو عليه. (تخطيط XML أدناه).

أرغب في السماح للمستخدم بمرونة / التمرير العرض الرئيسي باستخدام ليس فقط لمسة ولكن أيضا كرة التتبع. المشكلة هي - استخدام كرة التتبع فقط تبديل التركيز بين جميع عناصر التحكم في التصميم، ولا أستطيع أن أجد طريقة لاحتواء ontrackballlevent. إلى فقط 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>
هل كانت مفيدة؟

المحلول

الحيلة هي تجاوز dispatchTrackball في عرض مخصص الخاص بك، والاستيلاء على الأحداث.

آمل أن يساعد هذا شخص ما.

نصائح أخرى

يتم تطبيق Sanning ببساطة على النحو المذكور قبل الممتلكات القابلة للتركيز، قم بتعيين سمة MAPView القابلة للرفع إلى TRUE وسيقوم بالفعل بخصم الخريطة مع كرة التتبع عند التركيز.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top