java - 怎樣在不重寫子佈局的情況下,屏蔽側滑選單中的內容佈局事件?
伊谢尔伦
伊谢尔伦 2017-04-18 10:54:04
0
1
547

我自己對之前的android自定義viewgroup做一個總結,手寫一個控件繼承viewgroup,采用scroller類實現一個自定義側滑菜單。疑惑的是,當側滑菜單展示時,內容布局應當屏蔽事件,但是目前我隻知道通過重寫內容布局的onInterceptTouchEvent方法返回true做到,但是我考慮到簡易化,能否在隻手寫一個viewgroup情況下,實現這種需求?

<?xml version="1.0" encoding="utf-8"?>
<com.example.caojiantao1.myapplication.SlidingMenu
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    xmlns:slide="http://schemas.android.com/apk/res-auto"
    slide:content_alpha="0.5"
    slide:menu_width_rate="0.6"
    slide:scale_rate="0.5"
    slide:sliding_mode="qq">

    <LinearLayout
        android:id="@+id/content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#69c"
        android:orientation="horizontal">
        
    </LinearLayout>

    <LinearLayout
        android:id="@+id/menu"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#fc6"
        android:orientation="horizontal">

    </LinearLayout>
</com.example.caojiantao1.myapplication.SlidingMenu>

如果直接重寫content布局,在onInterceptTouchEvent down中判斷返回true,然後用com.xxx.cotent代替是可行的,但是這樣我就覺得約束性太強,最終目的是要隻要菜單有滑動,點擊內容布局就會隱藏menu。有沒有大神提提醒,我也研究過requestDisallowInterceptTouchEvent,貌似這個主要針對子view對父布局的,已經自我鑽研好多天了,知道的幫忙看看,謝了~~

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回覆(1)
刘奇

不清楚你這個具體是怎麼實現的,所以也不好說這個滑動事件的處理,不過我們或許可以用另一種方​​式達成目的:
嘗試為menu添加一個全屏的、透明的parentView,並利用它攔截與處理menu view之外的點擊事件.
希望能幫到你。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板