كيفية التحكم في سلوك كرة التتبع في وجهات النظر أندرويد؟
-
06-09-2019 - |
سؤال
لدي عرض 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 وسيقوم بالفعل بخصم الخريطة مع كرة التتبع عند التركيز.
لا تنتمي إلى StackOverflow