我正在尝试在MapActivity
页面中使用ScrollView
。当我运行该应用进行测试时,无法正确单击该地图,因为当用户尝试在地图上滑动时,滚动视图将接管,并且有点难以在其上滑动。
这是它的外观(地图包含在最底部):
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".CreateAds.FurnitureAd.CreateFunP1Fragment">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/lll"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/ad_title"
android:inputType="textPersonName"
android:textColor="@color/colorPrimary"
tools:layout_editor_absoluteX="182dp"
tools:layout_editor_absoluteY="16dp"
android:importantForAutofill="no" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/rrr"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="@+id/lll"
app:layout_constraintStart_toStartOf="@+id/lll"
app:layout_constraintTop_toBottomOf="@+id/lll">
<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:ems="10"
android:hint="@string/offer_price"
android:inputType="number"
android:textColor="@color/colorPrimary"
android:importantForAutofill="no" />
</com.google.android.material.textfield.TextInputLayout>
<TextView
android:id="@+id/textView16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/currency"
android:textColor="@color/colorPrimary"
app:layout_constraintStart_toStartOf="@+id/spinner2"
app:layout_constraintTop_toBottomOf="@+id/rrr" />
<Spinner
android:id="@+id/spinner2"
style="@style/Widget.AppCompat.Spinner.Underlined"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="@+id/rrr"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="@+id/rrr"
app:layout_constraintTop_toBottomOf="@+id/textView16" />
<TextView
android:id="@+id/textView18"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/state"
android:textColor="@color/colorPrimary"
app:layout_constraintStart_toStartOf="@+id/spinner2"
app:layout_constraintTop_toBottomOf="@+id/spinner2" />
<Spinner
android:id="@+id/spinner3"
style="@style/Widget.AppCompat.Spinner.Underlined"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="@+id/spinner2"
app:layout_constraintStart_toStartOf="@+id/spinner2"
app:layout_constraintTop_toBottomOf="@+id/textView18" />
<TextView
android:id="@+id/textView20"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/city"
android:textColor="@color/colorPrimary"
app:layout_constraintStart_toStartOf="@+id/spinner3"
app:layout_constraintTop_toBottomOf="@+id/spinner3" />
<Spinner
android:id="@+id/spinner4"
style="@style/Widget.AppCompat.Spinner.Underlined"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="@+id/spinner3"
app:layout_constraintStart_toStartOf="@+id/spinner3"
app:layout_constraintTop_toBottomOf="@+id/textView20" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textInputLayout"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="@+id/spinner4"
app:layout_constraintStart_toStartOf="@+id/spinner4"
app:layout_constraintTop_toBottomOf="@+id/spinner4">
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="@string/location"
android:inputType="text"
android:importantForAutofill="no" />
</com.google.android.material.textfield.TextInputLayout>
<TextView
android:id="@+id/textView24"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/map"
android:textColor="@color/colorPrimary"
app:layout_constraintStart_toStartOf="@+id/textInputLayout"
app:layout_constraintTop_toBottomOf="@+id/textInputLayout" />
<include
layout="@layout/activity_maps"
android:layout_width="0dp"
android:layout_height="450dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView24" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
是否像这样实施错误?
当您希望地图成为活动的主要内容且几乎是唯一内容时,将使用地图活动。请改用MapFragment
。示例:
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.SupportMapFragment"/>