2015-06-20 9 views
5

मैं इस भंडार https://github.com/dlukashev/AndroidSlidingUpPanel-foursquare-map-demoपैनल ऊपर की ओर स्लाइड - गूगल के तहत पतली रेखा फिसलने पैनल mapfragment

हालांकि, यह एक बग जो कहीं भी शामिल नहीं है शामिल हैं का उपयोग कर slidinguppanel बनाया है।

जब मैं पैनल (सूचीदृश्य) का विस्तार करने के लिए कहीं भी स्पर्श करता हूं, तो अच्छी तरह से काम करता है, लेकिन जब मैं एक सूची दृश्य (स्क्रीन 2 पर नीली रेखा) पैनल के शीर्ष पर होकर इसे विस्तारित करने की कोशिश कर रहा हूं, तो मानचित्र के नीचे पैनल (framelayout) (स्क्रीन 3)

यह भी संभव है कि यह नीली रेखा छिपाने वाला पैनल मैपफ्रैगमेंट के तहत और बाकी सूचीदृश्य इसे अच्छी तरह से विस्तारित करे?

कोई विचार क्यों? कृपया मुझे बस एक संकेत दें कि इसे कैसे ठीक किया जाए?

कृपया स्क्रीन पर देखने के:

http://i.stack.imgur.com/G88Ok.jpg

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <org.sothree.slidinguppanel.SlidingUpPanelLayout 
     android:id="@+id/slidingLayout" 
     android:gravity="bottom" 
     app:shadowHeight="0dp" 
     app:paralaxOffset="@dimen/paralax_offset" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

     <FrameLayout 
      android:gravity="top" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_below="@+id/button"> 

      <RelativeLayout 
       android:id="@+id/mapContainer" 
       android:layout_width="fill_parent" 
       android:layout_height="497dp"/> 
     </FrameLayout> 

     <RelativeLayout 
      android:id="@+id/slidingContainer" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_below="@+id/button"> 

      <View 
       android:id="@+id/transparentView" 
       android:visibility="gone" 
       android:layout_width="fill_parent" 
       android:layout_height="@dimen/map_height" 
       android:layout_alignParentTop="true"/> 

      <ListView 
       android:id="@+id/listView1" 
       android:cacheColorHint="@android:color/white" 
       android:drawSelectorOnTop="true" 
       android:dividerHeight="@dimen/divider_height" 
       android:divider="@android:color/darker_gray" 
       android:background="@android:color/transparent" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_below="@id/transparentView" 
       android:smoothScrollbar="true" 
       android:layout_marginTop="0dp"/> 

     </RelativeLayout> 

    </org.sothree.slidinguppanel.SlidingUpPanelLayout> 

</RelativeLayout> 
+0

आप पैनल को छिपाने कर सकते हैं आनंद लें ??? – Asmi

+0

मुझे कुछ मदद की ज़रूरत है .. मैंने उस कोड को देखा लेकिन मुझे स्क्रॉल पैनल को छिपाना नहीं था .. मैं चाहता हूं कि पैनल को छिपाने के लिए .. और जब ऐप चलाया जाए तो यह सूचीदृश्य की केवल एक पंक्ति से नीचे दिखाएगा ?? – Asmi

उत्तर

3

आप जब जरूरत ListView

public class LockableListView extends ListView { 

private boolean mScrollable = true; 

public LockableListView(Context context) { 
    super(context); 
} 

public LockableListView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
} 

public LockableListView(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
} 

public void setScrollingEnabled(boolean enabled) { 
    mScrollable = enabled; 
} 

@Override 
public boolean onTouchEvent(MotionEvent ev) { 
    switch (ev.getAction()) { 
     case MotionEvent.ACTION_DOWN: 
      // if we can scroll pass the event to the superclass 
      if (mScrollable) { 
       return super.onTouchEvent(ev); 
      } 
      // only continue to handle the touch event if scrolling enabled 
      return mScrollable; // mScrollable is always false at this point 
     default: 
      return super.onTouchEvent(ev); 
    } 
} 

@Override 
public boolean onInterceptTouchEvent(MotionEvent ev) { 
    // Don't do anything with intercepted touch events if 
    // we are not scrollable 
    if (!mScrollable) { 
     return false; 
    } else { 
     return super.onInterceptTouchEvent(ev); 
    } 
} 

}

तब अक्षम स्क्रॉल डाल ओवरराइड करने के लिए की जरूरत है

private void collapseMap() { 
    mSpaceView.setVisibility(View.VISIBLE); 
    mTransparentView.setVisibility(View.GONE); 
    if (mMap != null && mLocation != null) { 
     mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(mLocation, 11f), 1000, null); 
    } 
    mListView.setScrollingEnabled(true); 
} 

private void expandMap() { 
    mSpaceView.setVisibility(View.GONE); 
    mTransparentView.setVisibility(View.INVISIBLE); 
    if (mMap != null) { 
     mMap.animateCamera(CameraUpdateFactory.zoomTo(14f), 1000, null); 
    } 
    mListView.setScrollingEnabled(false); 
} 

मैं धक्का दिया इस GitHub https://github.com/dlukashev/AndroidSlidingUpPanel-foursquare-map-demo/commit/7b869394e9d197e6f56a833804426577dcb8458a में परिवर्तन

+0

आपकी उल्लेखनीय मदद के लिए बहुत बहुत धन्यवाद! निर्धारित समस्या! – klijakub

संबंधित मुद्दे