Próbuję zintegrować Google Maps Android API v2 z moją aplikacją Android. Umieszczam Mapę Google w środku mojego układu. Działa świetnie, gdy układ jest w stanie zmieścić się na ekranie, ale gdy układ jest zbyt duży, aby zmieścić się, a użytkownik przewija w dół, aby zobaczyć resztę zawartości, reszta układu jest zaciemniona przez Google Map. Zobacz poniższy zrzut ekranu:Google Maps Android API V2 zaciemnia część layoutu
(. UWAGA: Wszystkie gesty mapie są wyłączone, aby umożliwić użytkownikowi przewijanie)
Mój układ XML:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:fillViewport="true" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20sp" >
<TextView
android:id="@+id/race_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="14sp"
android:textSize="@dimen/DetailsTop"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/race_in_chase" />
<TextView
android:id="@id/race_in_chase"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/in_the_chase"
android:textSize="@dimen/DetailsTop"
android:background="@drawable/inthechase"
android:paddingLeft="20sp"
android:paddingRight="20sp"
android:visibility="gone"
android:layout_alignParentRight="true" />
<TextView
android:id="@+id/race_name"
style="@style/RaceDetailsName"
android:layout_below="@id/race_num" />
<TextView
android:id="@+id/race_track"
style="@style/RaceDetailsText"
android:paddingBottom="20sp"
android:layout_below="@id/race_name" />
<TextView
android:id="@+id/race_time"
style="@style/RaceDetailsText"
android:layout_below="@id/race_track" />
<TextView
android:id="@+id/race_tv"
style="@style/RaceDetailsText"
android:layout_below="@id/race_time" />
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="380dp"
android:layout_marginTop="20sp"
android:layout_marginBottom="20sp"
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_below="@id/race_tv" />
<TextView
android:id="@+id/race_track_size"
style="@style/RaceDetailsText"
android:layout_below="@id/map" />
</RelativeLayout>
</ScrollView>
Moja konfiguracja map w Moja aktywność:
private void setUpMapIfNeeded() {
if (mMap == null) {
mMap = ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map)).getMap();
if (mMap != null) {
setUpMap();
}
}
}
private static final LatLng CHICAGOLAND = new LatLng(41.474856, -88.056928);
private void setUpMap() {
mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
mMap.getUiSettings().setZoomControlsEnabled(false);
mMap.getUiSettings().setAllGesturesEnabled(false);
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(CHICAGOLAND)
.zoom(14.5f)
.bearing(53)
.build();
mMap.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
Moje przeczucie jest fragment mapy robi n Podobnie jak ScrollView, ponieważ układ jest w porządku, jeśli cały układ mieści się na ekranie, a przewijanie nie jest wymagane. Sama mapa wydaje się mieć prawidłowy rozmiar. Blackout to dokładny rozmiar pozostałych elementów w widoku. Czy ktoś ma jakieś pomysły, jak mogę pozbyć się zaciemnienia pod mapą, więc widzę poniżej TextView? Wszystko, co do tej pory próbowałem, nie zadziałało.
Naprawdę brak migotania? Próbowałem tego rozwiązania z SlidngMenu, ale nic nie zmieniło. Zobacz szczegóły: http://stackoverflow.com/questions/14419521/moving-mapfragment-surfaceview-causes-black-background-flickering/14571989#comment20335526_14571989 –
Mam editTexts pod mapą i użyłem tego, tekst do edycji tracę skupić się, jak mógłbym to zrobić, czy jest inny sposób? – JRowan