2015-10-26 5 views
0

У меня есть приложение, которое использует скользящий ящик. Мне пришлось внести некоторые изменения, содержимое скользящего ящика было простой относительной компоновкой, но мне пришлось изменить его, чтобы включить фрагмент.Android: скользящее содержимое ящика перекрывает весь экран

это расположение ползунка до изменения:

<SlidingDrawer 
      android:id="@+id/drawer" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_alignParentTop="true" 
      android:orientation="horizontal" 
      android:handle="@+id/handle" 
      android:rotation="180" 
      android:content="@+id/content"> 

      <ImageView 
       android:id="@id/handle" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@drawable/handle" 
       android:rotation="180" 
       /> 

      <RelativeLayout 
       android:id="@id/content" 
       android:background="@drawable/border" 
       android:layout_width="140dip" 
       android:layout_height="fill_parent" 
       android:orientation="vertical" 
       android:rotation="180" 
       android:focusable="true" 
       android:focusableInTouchMode="true"> 

       <EditText 
        android:drawableLeft="@android:drawable/ic_menu_search" 
        android:layout_width="fill_parent" 
        android:layout_height="50dp" 
        android:id="@+id/editInp" 
        android:layout_marginLeft="20dip" 
        android:imeOptions="actionDone" 
        android:layout_marginRight="20dip" 
        android:layout_marginTop="15dip" 
        android:hint="" 
        android:textColor="@color/themeapp" 
        android:background="@drawable/layout_corner_white" 
        android:singleLine="true" 
        android:inputType="textNoSuggestions"/> 

       <ImageView 
        android:id="@+id/clear_button" 
        android:layout_width="35dp" 
        android:layout_height="35dp" 
        android:layout_marginTop="23dip" 
        android:layout_alignRight="@id/editInp" 
        android:src="@android:drawable/ic_menu_close_clear_cancel"/> 

       <RelativeLayout 
        android:id="@+id/progress_conteiner" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:layout_above="@+id/footer1" 
        android:layout_below="@+id/header1" 
        android:visibility="gone"> 

        <ProgressBar 

         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true" 
         style="?android:attr/progressBarStyle"/> 
       </RelativeLayout> 

       <ExpandableListView 
        android:id="@+id/list" 
        android:layout_below="@+id/editInp" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:paddingTop="20dip" 
        android:layout_alignParentBottom="true" 
        android:layout_alignParentRight="true" 
        android:layout_alignParentEnd="true" 
        android:divider="@color/themeapp" 
        android:dividerHeight="1dp" 
        android:indicatorRight="300dp" /> 
      </RelativeLayout> 
</SlidingDrawer> 

после изменений выглядит следующим образом:

<SlidingDrawer 
      android:id="@+id/drawer" 
      android:layout_width="140dp" 
      android:layout_height="fill_parent" 
      android:layout_alignParentTop="true" 
      android:orientation="horizontal" 
      android:handle="@id/handle" 
      android:rotation="180" 
      android:content="@id/content_frame"> 

      <ImageView 
       android:id="@+id/handle" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@drawable/handle" 
       android:rotation="180" 
       /> 

      <FrameLayout 
       android:id="@+id/content_frame" 
       android:layout_width="140dp" 
       android:layout_height="fill_parent" > 
      </FrameLayout> 

</SlidingDrawer> 

Java код, чтобы раздуть фрагмент:

getActivity().getSupportFragmentManager().beginTransaction().add(R.id.content_frame, new FragmentFleetListMap(this)).commit(); 

предыдущий контент слайдера, был перенесен (неизменен) в отдельный файл макета, который будет использоваться в новом креа .

до того, слайдер работал водоворот, но теперь я вижу, что содержание фрагмента перекрывается на содержание активности (см screeenshot ниже), также не ограничивается слайдером пространства, но занимает весь экран

, как вы можете см. на снимке экрана слайдер открыт, и он принимает правильную часть на экране (см. положение обработчика [маленький оранжевый прямоугольник в середине правой стороны), поэтому я думаю, что проблема состоит в том, что содержимое фрагмента не размещается внутри ползунка

Может ли кто-нибудь помочь мне с этим?

see screeenshot

ответ

0

выглядит эта линия:

getActivity().getSupportFragmentManager().beginTransaction().add(R.id.content_frame, new FragmentFleetListMap(this)).commit(); 

был "добавление" мой фрагмент, содержащий список над MapFragment вместо frameLayout. изменить его на:

getChildFragmentManager().beginTransaction().add(R.id.content_frame, new FragmentFleetListMap(this)).commit(); 

решить проблему

Смежные вопросы