6

Ich habe eine LinearLayout in einer der Aktivitäten als Hauptlayout. Ich benutzte Scrollview, um das LinearLayout zu verkapseln. Das Layout enthält ein Fragment, das eine Google Map anzeigt, aber beim Scrollen gab es einen schwarzen Hintergrund. Ich habe das Problem gelöst, indem ich einen transparenten Hintergrund in einem FrameLayout verwendet habe. Der schwarze Hintergrund ist verschwunden, aber beim Scrollen flackern schwarze Ränder um die Karte. Wie entferne ich das? Ich habe versucht, den Hintergrund von Scrollview auf weiße Farbe einzustellen, aber keine Änderung sichtbar.Fragment in ScrollView gibt schwarzen Hintergrund flackern

Die XML der Aktivität ist -

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/scroll" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:background="#FFFFFF" 
> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="#FFFFFF" 
android:baselineAligned="false" 
android:orientation="vertical" 
android:overScrollMode="ifContentScrolls" 
android:scrollbarStyle="insideOverlay" 
android:scrollbars="vertical" 
android:showDividers="none" > 

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="45dp" 
    android:background="#ec4d1d" > 

    <TextView 
     android:id="@+id/friend_name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_marginLeft="7dp" 
     android:background="@drawable/near_you_bg" 
     android:gravity="center_horizontal|center_vertical" 
     android:padding="6dp" 

     android:textColor="#FFFFFF" 
     android:textSize="15sp" 
     android:textStyle="bold" 
     android:typeface="sans" /> 

    <Button 
     android:id="@+id/btnInviteFriends" 
     android:layout_width="30dp" 
     android:layout_height="25dp" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:layout_marginRight="7dp" 
     android:background="@drawable/menu_bg" 
     android:onClick="inviteFriends" /> 

</RelativeLayout> 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="81dp" 
    android:background="@drawable/list_bg" 
    android:orientation="vertical" > 

    <TableLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:shrinkColumns="*" 
     android:stretchColumns="*" > 

     <TableRow 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_gravity="center_vertical|center_horizontal" 
      android:layout_marginTop="4dp" 
      android:gravity="center_vertical|center_horizontal" > 

      <RelativeLayout 
       android:layout_width="65dp" 
       android:layout_height="70dp" > 

       <ImageView 
        android:id="@+id/user_image" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:layout_alignWithParentIfMissing="false" 
        android:layout_centerHorizontal="true" 
        android:layout_centerVertical="true" 
        android:layout_marginTop="7dp" 
        android:src="@drawable/d_bg" /> 

      </RelativeLayout> 

      <RelativeLayout 
       android:layout_width="140dp" 
       android:layout_height="70dp" > 

       <TextView 
        android:id="@+id/name" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="0dp" 
        android:layout_toRightOf="@id/user_image" 
        android:paddingBottom="2dip" 
        android:text="Amrinder" 
        android:textColor="#000000" 
        android:textSize="16sp" 
        android:textStyle="bold" /> 

       <TextView 
        android:id="@+id/distance" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_below="@id/name" 
        android:layout_marginTop="2dp" 
        android:layout_toRightOf="@id/user_image" 
        android:text="description" 
        android:textColor="#000000" 
        android:textSize="10sp" > 

       </TextView> 

       <LinearLayout 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_below="@id/distance" 
        android:layout_marginTop="7dp" 
        android:orientation="horizontal" > 

        <ImageView 
         android:id="@+id/common_icon" 
         android:layout_width="26dp" 
         android:layout_height="19dp" 
         android:background="@drawable/common_icon" /> 

        <TextView 
         android:id="@+id/common_number" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_marginLeft="3dp" 
         android:text="4" 
         android:textColor="#000000" 
         android:textStyle="bold" /> 

        <ImageView 
         android:id="@+id/friends_icon" 
         android:layout_width="26dp" 
         android:layout_height="19dp" 
         android:layout_marginLeft="7dp" 
         android:background="@drawable/friends_icon" /> 

        <TextView 
         android:id="@+id/friends_number" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_marginLeft="3dp" 
         android:text="5" 
         android:textColor="#000000" 
         android:textStyle="bold" /> 
       </LinearLayout> 

       <TextView 
        android:id="@+id/nearUserInfo" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:visibility="invisible" > 
       </TextView> 
      </RelativeLayout> 

      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" > 

       <TextView 
        android:id="@+id/time_ago" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 

        android:text="10 min ago" 
        /> 

       <ImageView 
        android:id="@+id/dir_img" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_below="@id/time_ago" 
        android:layout_centerHorizontal="true" 
        android:layout_marginTop="23dp" 
        android:background="@drawable/say_hi_button" /> 

      </RelativeLayout> 
     </TableRow> 
    </TableLayout> 
</RelativeLayout> 

<RelativeLayout 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_margin="5dp" 
> 

<ImageView 
    android:id="@+id/map_bar" 
    android:layout_width="fill_parent" 
    android:layout_height="25dip" 
    android:layout_centerInParent="false" 
    android:layout_gravity="center_horizontal" 
    android:background="@drawable/map_box_bg" /> 


<RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="25dp" > 

    <TextView 
     android:id="@+id/distance_text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_marginLeft="1dp" 
     android:text="X is 4 km north-east of you now" 
     android:textColor="#ffffff" 
     android:textStyle="bold" /> 

</RelativeLayout> 
<FrameLayout 
    android:id="@+id/frame_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 
<fragment 
    android:id="@+id/map" 
    android:name="com.google.android.gms.maps.MapFragment" 
    android:layout_width="fill_parent" 
    android:layout_height="150dp" 
    android:layout_below="@id/map_bar" 

    /> 
<View 
     android:id="@+id/trans_img" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:src="@drawable/trans" />   
</FrameLayout> 

</RelativeLayout> 

<RelativeLayout 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_margin="5dp" > 

<ImageView 
    android:id="@+id/like_bar" 
    android:layout_width="fill_parent" 
    android:layout_height="25dip" 
    android:layout_gravity="center_horizontal" 
    android:background="@drawable/map_box_bg" /> 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="25dp" > 

    <ImageView 
     android:id="@+id/like_button" 
     android:layout_width="24dp" 
     android:layout_height="23dp" 

     android:layout_centerVertical="true" 
     android:layout_marginLeft="1dp" 
     android:background="@drawable/common_detail_icon" /> 

    <TextView 
     android:id="@+id/likes_in_common" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_toRightOf="@id/like_button" 
     android:gravity="center_vertical" 
     android:text=" 3 likes in common" 
     android:textColor="#FFFFFF" 
     android:textStyle="bold" /> 

    </RelativeLayout> 

<ImageView 
    android:id="@+id/like_bg" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/like_bar" 
    android:layout_gravity="center_horizontal" 
    android:background="@drawable/list_bg" /> 

</RelativeLayout> 

<RelativeLayout 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_margin="5dp" > 

<ImageView 
    android:id="@+id/friends_bar" 
    android:layout_width="fill_parent" 
    android:layout_height="25dip" 
    android:layout_gravity="center_horizontal" 
    android:background="@drawable/map_box_bg" /> 

    <RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="25dp" 
    android:layout_alignParentRight="true" > 

    <ImageView 
     android:id="@+id/friends_button" 
     android:layout_width="24dp" 
     android:layout_height="23dp" 

     android:layout_centerVertical="true" 
     android:layout_marginLeft="1dp" 
     android:background="@drawable/common_friends_icon" /> 

    <TextView 
     android:id="@+id/friends_in_common" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_toRightOf="@id/friends_button" 
     android:gravity="center_vertical" 
     android:text=" 9 friends in common" 
     android:textColor="#FFFFFF" 
     android:textStyle="bold" /> 

    </RelativeLayout> 

<ImageView 
    android:id="@+id/friends_bg" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/friends_bar" 
    android:layout_gravity="center_horizontal" 
    android:background="@drawable/list_bg" /> 



</RelativeLayout> 


<RelativeLayout 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_margin="5dp" > 

<ImageView 
    android:id="@+id/friends_bar" 
    android:layout_width="fill_parent" 
    android:layout_height="25dip" 
    android:layout_gravity="center_horizontal" 
    android:background="@drawable/map_box_bg" /> 

    <RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="25dp" 
    android:layout_alignParentRight="true" > 

    <ImageView 
     android:id="@+id/friends_button" 
     android:layout_width="24dp" 
     android:layout_height="23dp" 

     android:layout_centerVertical="true" 
     android:layout_marginLeft="1dp" 
     android:background="@drawable/common_friends_icon" /> 

    <TextView 
     android:id="@+id/friends_in_common" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_toRightOf="@id/friends_button" 
     android:gravity="center_vertical" 
     android:text=" 9 friends in common" 
     android:textColor="#FFFFFF" 
     android:textStyle="bold" /> 

    </RelativeLayout> 

<ImageView 
    android:id="@+id/friends_bg" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/friends_bar" 
    android:layout_gravity="center_horizontal" 
    android:background="@drawable/list_bg" /> 



</RelativeLayout> 



<RelativeLayout 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_margin="5dp" > 

<ImageView 
    android:id="@+id/friends_bar" 
    android:layout_width="fill_parent" 
    android:layout_height="25dip" 
    android:layout_gravity="center_horizontal" 
    android:background="@drawable/map_box_bg" /> 

    <RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="25dp" 
    android:layout_alignParentRight="true" > 

    <ImageView 
     android:id="@+id/friends_button" 
     android:layout_width="24dp" 
     android:layout_height="23dp" 

     android:layout_centerVertical="true" 
     android:layout_marginLeft="1dp" 
     android:background="@drawable/common_friends_icon" /> 

    <TextView 
     android:id="@+id/friends_in_common" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_toRightOf="@id/friends_button" 
     android:gravity="center_vertical" 
     android:text=" 9 friends in common" 
     android:textColor="#FFFFFF" 
     android:textStyle="bold" /> 

    </RelativeLayout> 

<ImageView 
    android:id="@+id/friends_bg" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/friends_bar" 
    android:layout_gravity="center_horizontal" 
    android:background="@drawable/list_bg" /> 
</RelativeLayout> 
</LinearLayout> 
</ScrollView> 

Antwort

4

Stattdessen versuchen Sie ein transparentes Bild über dem Fragment der Karte für die Verwendung der transparenten Farbe mit becauz i auch das gleiche Problem konfrontiert war, und ich gelöst mit dieser Methode.

android:background="@android:color/transparent" 

Aber technisch gesehen als von Android vorgeschlagen, dass Sie nicht ein Scroll-Element innerhalb eines anderen Scrolling element.Rather verwenden, sollten Sie die Google-Karte statische Karte API verwenden können statische Karte innerhalb Scroll-Ansicht zu zeigen, und wenn Sie tippen Sie auf Scroll-Ansicht Sie können eine Scrollable Google Map in einem neuen Fenster öffnen.

+0

schön Vorschlag @karan_rana, obwohl ich es dachte, rund um die anderen Ausweg! :) –

+1

kann ich fragen, warum ist es so, ich benutze ein paar Lösungen, scrollview erweitern und das, warum? Ist das wie ein Google-Durcheinander? – JRowan

0

Der Grund dafür ist, dass die Karte ein Surface verwendet, wenn die App diese Ansicht erstellt es ein Fenster hinter Aktivität des erzeugt und stanzt ein Loch Bedeutung Dinge im Fenster Ihrer Aktivität ist nicht unter dem Surface ursprünglichen Lage gesehen.

Für mich wie Charme gearbeitet wird, können Sie diese Bibliothek verwenden

https://github.com/NyxDigital/NiceSupportMapFragment/