マップ マーカーをクリックすると表示される PopupWindow があります。PopupWindow を使用すると、ユーザーはマーカーの位置を変更し、その周囲の半径を選択できます。focusable を true に設定すると、PopupWindow を操作できますが、マップは操作できません。そして、奇妙なことに、フォーカス可能な false を設定すると、PopupWindow の SeekBar を操作できますが、ボタンも EditText も応答しませんが、マップを操作できます。
質問: ユーザーが PopupWindow とマップの両方を同時に操作できるようにするにはどうすればよいですか?
<LinearLayout android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/event"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText android:id="@+id/markerEventNameEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/your_event_name"
android:inputType="text" />
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radius"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView android:id="@+id/radiusTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout>
<SeekBar android:id="@+id/radiusSeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp" />
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button android:id="@+id/editEventButton"
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/edit_event" />
<Button android:id="@+id/cancelMarkerWindowButton"
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/close" />
</LinearLayout>
</LinearLayout>
<TableLayout android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical">
<TableRow android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center">
<ImageButton android:id="@+id/ImageButton03"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="center"
android:src="@drawable/arrow_1" />
</TableRow>
<TableRow android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageButton android:id="@+id/ImageButton01"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/arrow_1"/>
<ImageButton android:id="@+id/ImageButton02"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/arrow_1"/>
</TableRow>
<TableRow android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center">
<ImageButton android:id="@+id/imageButton1"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/arrow_1" />
</TableRow>
</TableLayout>
</LinearLayout>
<View android:layout_width="match_parent"
android:layout_height="3dp"
android:background="@color/WhiteSmoke" />
//Constructor
public MarkerPopupWindow(Marker edited_event_marker,Context context)
{
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View markerWindowView = inflater.inflate(R.layout.event_editor_popup_window, null, false);
markerWindowView.findViewById(R.id.cancelMarkerWindowButton);
int height = ViewGroup.LayoutParams.WRAP_CONTENT;
int width = ViewGroup.LayoutParams.MATCH_PARENT;
PopupWindow markerWindow = new PopupWindow(markerWindowView,
width,height,
false); //Focusable, if false window cannot be touched.
markerWindow.setWindowLayoutMode(width, height);
//Called these methods (commented out) attempting to fix the problem without success.
//markerWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
//markerWindow.setSoftInputMode(PopupWindow.INPUT_METHOD_NEEDED);
//markerWindow.setOutsideTouchable(true);
markerWindow.showAtLocation(findViewById(R.id.location_tab_container), Gravity.TOP, 0, 0);
}