2013-07-15 3 views
2

enter image description here안드로이드 : 나는 다음과 같은 ScreenUI을 달성 할 스크린 샷에 따르면이 '조회수'

사이에 'SplitContainer가'를 만드는 방법 (안드로이드 API> = 10) :

당신은 가지고 GoogleMapsSupportFragement 및 보기의 나머지 높이를 공유 할 ListView (height 응용 프로그램 시작에서 계산되며, 응용 프로그램은 PortraitMode에서 실행 해있다) 안드로이드 Notificatio 비슷해야

ListView 컨테이너의 동작을 n 사용자가보기를 놓을 경우 (터치 업) 애니메이션을 시작하고 목록을 스 와이프 할 수 있도록 메뉴.

지금까지, 나는 레드 라인 (LinearLayout)로 나누어 두 LinearLayout (MapListView)을 구현했습니다. 나는

질문입니다 .. ListView에가/표시된 레드 라인에서 클릭에 숨겨진, 그러나 나는리스트 뷰를 숨길 경우지도가 다시 그려 검은 공간 나뭇잎 때문에, 이상하게 생긴`의 것을, 관리 : 무엇 s best way to implement (LinearLayout? Fragments?)? Do you know examples for the onTouchBehaviour` (공개 알림 메뉴와 유사)?

//function is triggered at click on the redline-button 
private void toggleOverlayList(){ 

    //TEST CASE API >= 11 

    int mListHeight = ((LinearLayout) findViewById(R.id.map_list)).getLayoutParams().height; 
    Log.i(DEBUG,"toggleOverlayList() -> currentHeight:" + mListHeight); 

    if(mListHeight == 0){ 
     ((LinearLayout) findViewById(R.id.map_wrapper)).getLayoutParams().height = mDisplayHeight; 
     ((LinearLayout) findViewById(R.id.map_list)).getLayoutParams().height = mDisplayHeight; 
     ((LinearLayout) findViewById(R.id.main_screen)).requestLayout(); 
    } 
    else{ 
     ((LinearLayout) findViewById(R.id.map_wrapper)).getLayoutParams().height = 2* mDisplayHeight; 
     ((LinearLayout) findViewById(R.id.map_list)).getLayoutParams().height = 0; 
     ((LinearLayout) findViewById(R.id.main_screen)).requestLayout(); 
    } 
} 

Layout.xml 대신 자신이이 구현의 this 라이브러리를 사용할 수 있습니다

<LinearLayout 
    android:id="@+id/main_screen" 
    android:animateLayoutChanges="true" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:id="@+id/map_wrapper"> 
     <fragment 
     android:id="@+id/map" 
     android:name="com.google.android.gms.maps.MapFragment" 
     /> 
    </LinearLayout> 

    <LinearLayout 
    android:id="@+id/map_seperator" 
    android:layout_height="20dp" > 
    </LinearLayout> 

    <LinearLayout 
    android:id="@+id/map_list"> 

    <ListView 
     android:id="@+id/listView1" > 
    </ListView> 

    </LinearLayout> 

</LinearLayout> 

답변

1

:

여기 내 구현입니다. here 이상의 내 대답을보세요. 도움이되기를 바랍니다.

+0

좋은 라이브러리! 하지만 전체 화면을 겹치지 않고 기본보기를 '분할'할 수 있는지 확인해야합니다. – longilong