我在其中一个活动中有一个LinearLayout作为主要布局。我使用Scrollview封装了LinearLayout。布局包含一个显示谷歌地图的片段,但在滚动时它给出了黑色背景。我通过在FrameLayout中使用透明背景解决了这个问题。黑色背景已经消失,但在滚动过程中,地图周围会出现闪烁的黑色边缘。如何删除?我尝试将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>
答案 0 :(得分:4)
我没有在地图片段上方使用透明图像,而是尝试使用透明颜色,因为我也遇到了同样的问题,我使用这种方法解决了问题。
android:background="@android:color/transparent"
但从Android技术上讲,你不应该在另一个滚动元素中使用滚动元素。你可以使用Google地图静态地图API在滚动视图中显示静态地图,当你点击滚动视图时你可以打开一个可滚动的谷歌地图在新窗口中。
答案 1 :(得分:0)
背后的原因是Map使用SurfaceView,当App创建此视图时,它会在Activity的后面创建一个Window并打出一个洞,这意味着在SurfaceView的原始位置下面无法看到Activity的窗口中的内容。
对我而言,这就像魅力一样,你可以使用这个库