6

我在其中一個活動中有一個LinearLayout作爲主佈局。我用Scrollview封裝了LinearLayout。該佈局包含一個顯示谷歌地圖的片段,但在滾動時會給出黑色背景。我通過在FrameLayout中使用透明背景解決了這個問題。黑色背景已經消失,但在滾動期間,我在地圖周圍閃爍了黑色邊緣。如何刪除這個?我試着將Scrollview的背景設置爲白色,但沒有可見的變化。ScrollView中的片段給黑色背景閃爍

活動的XML是 -

<?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> 

回答

4

而不是使用您嘗試使用透明色becauz我也面臨着同樣的問題,我解決了使用這種方法的地圖片段上方的透明圖像的。

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

但是從技術上來講通過Android作爲建議,你不應該使用滾動元件另一滾動element.Rather裏面你可以使用谷歌地圖靜態地圖API顯示滾動視圖內靜態地圖,當你輕觸滾動視圖您可以在新窗口中打開可滾動的Google地圖。

+0

好的建議@karan_rana,雖然我理解了它倒過來! :) – 2013-03-12 07:52:49

+1

我可以問爲什麼這樣,即時通訊使用一對夫婦的解決方案,擴展滾動視圖,這,爲什麼?是像谷歌一樣亂了嗎? – JRowan 2013-04-25 04:26:59

0

這背後的原因是Map使用SurfaceView,當App創建這個視圖時,它會在你的Activity的後面創建一個Window,並在你的Activity的窗口中打出一個洞,這意味着在SurfaceView的原始位置下面看不到任何東西。

對我來說,這就像魅力的工作,你可以使用這個庫

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