MapView在Dialog中显示较暗的地图 [英] MapView is showing Darker map inside Dialog
问题描述
我试图在对话框窗口中显示谷歌地图。对于这个对话框,我使用下面的代码行:
最后的对话框对话框= new Dialog(SetProfileOnlineActivity.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setCanceledOnTouchOutside(false);
dialog.setCancelable(false);
dialog.setContentView(R.layout.pick_location_layout);
Window w = dialog.getWindow();
w.setLayout(WindowManager.LayoutParams.MATCH_PARENT,WindowManager.LayoutParams.MATCH_PARENT);
dialog.show();
pick_location_layout.xml
<?xml version =1.0encoding =utf-8?>
< android.support.constraint.ConstraintLayout 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>
< com.google.android.gms.maps.MapView
android:id =@ + id / mapview
android:layout_width =0dp
android:layout_height =0dp
app:layout_constraintBottom_toTopOf =@ + id / myLl
app:layout_constraintEnd_toEndOf =parent
app:layout_constraintStart_toStartOf =parent
app:layout_constraintTop_toTopOf =父母
/>
< LinearLayout
android:id =@ + id / ll_map_search
android:layout_width =match_parent
android:layout_height =wrap_content
app:layout_constraintEnd_toEndOf =parent
app:layout_constraintStart_toStartOf =parent
app:layout_constraintTop_toTopOf =parent
android:layout_marginEnd =8dp
android:layout_marginStart = 8dp
android:layout_marginTop =8dp
android:background =@ color / white
android:orientation =horizontal
>
< EditText
android:id =@ + id / et_search_text
android:layout_width =0dp
android:layout_height =wrap_content hint =Search
android:padding =8dp
android:layout_weight =1
android:textColor =@ color / black
android:textSize = 18sp
android:maxLines =1
android:background =@ android:color / transparent
/>
android:id =@ + id / ib_search_map
android:layout_width =40dp
android:layout_height =40dp scaleType =fitCenter
android:src =@ drawable / search
/>
< / LinearLayout>
< LinearLayout
android:id =@ + id / myLl
android:layout_width =match_parent
android:layout_height =wrap_content
app:layout_constraintBottom_toBottomOf =parent>
android:id =@ + id / btn_map_cancel
android:layout_width =0dp
android:layout_height =wrap_content
android:layout_weight =1
android:background =@ color / red
android:text =取消
android:textColor =@ color / white
android:textSize =@ dimen / _18sdp/>
< Button
android:id =@ + id / btn_map_ok
android:layout_width =0dp
android:layout_height =wrap_content
android:layout_weight =1
android:background =@ color / green
android:text =Ok
android:textColor =@ color / white
android:textSize =@ dimen / _18sdp/>
< / LinearLayout>
< Button
android:id =@ + id / btn_switch_view
android:layout_width =wrap_content
android:layout_height =wrap_content
android:layout_marginBottom =8dp
android:layout_marginEnd =8dp
android:layout_marginStart =8dp
android:text =Switch View
app:layout_constraintBottom_toTopOf =@ + id / myLl
app:layout_constraintEnd_toEndOf =parent
app:layout_constraintStart_toStartOf =parent/>
现在我的问题是我的地图显示较暗。我也在显示完美的对话框中显示edittext,但是map只是图像中显示较暗的组件。那么,有什么方法可以让mapview像其他组件一样变得更明亮吗?
<对于
mapView解决方案 在对话框中
正在移除背景暗淡(为您的代码调整,只需粘贴在 dialog.show() code $):
w.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
不好的部分是我在 5年前的问题
以前的回答
我刚刚用 new map 解决方案进行了检查(阅读更多这里):
< fragment
android:id =@ + id / map
android:name =com.google.android.gms.maps.SupportMapFragment
app:mapType =正常
android:layout_width =match_parent
android:layout_height =match_parent/>
并且它显示明亮的 - 图像在这里 -
I am trying to display google map inside dialog window. For this dialog i am using following lines of code:
final Dialog dialog = new Dialog(SetProfileOnlineActivity.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setCanceledOnTouchOutside(false);
dialog.setCancelable(false);
dialog.setContentView(R.layout.pick_location_layout);
Window w = dialog.getWindow();
w.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
dialog.show();
pick_location_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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">
<com.google.android.gms.maps.MapView
android:id="@+id/mapview"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@+id/myLl"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
<LinearLayout
android:id="@+id/ll_map_search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:background="@color/white"
android:orientation="horizontal"
>
<EditText
android:id="@+id/et_search_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="Search"
android:padding="8dp"
android:layout_weight="1"
android:textColor="@color/black"
android:textSize="18sp"
android:maxLines="1"
android:background="@android:color/transparent"
/>
<ImageButton
android:id="@+id/ib_search_map"
android:layout_width="40dp"
android:layout_height="40dp"
android:scaleType="fitCenter"
android:src="@drawable/search"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/myLl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent">
<Button
android:id="@+id/btn_map_cancel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/red"
android:text="Cancel"
android:textColor="@color/white"
android:textSize="@dimen/_18sdp" />
<Button
android:id="@+id/btn_map_ok"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/green"
android:text="Ok"
android:textColor="@color/white"
android:textSize="@dimen/_18sdp" />
</LinearLayout>
<Button
android:id="@+id/btn_switch_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:text="Switch View"
app:layout_constraintBottom_toTopOf="@+id/myLl"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</android.support.constraint.ConstraintLayout>
Now my problem is that my map is showing darker. I am also displaying edittext in dialog which is showing perfectly but map is only component which is showing darker as shown in image. So, is there any way to make mapview brighter as other components?
解决方案 Update for MapView
Solution for mapView
in dialog
is removing background dim like this (adjusted for your code, just paste before dialog.show()
):
w.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
Bad part is I've found this solution in 5 year old question
Previous answer
I've just checked with "newer map" solution (read more here):
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
app:mapType="normal"
android:layout_width="match_parent"
android:layout_height="match_parent" />
and it shows bright --image was here--
这篇关于MapView在Dialog中显示较暗的地图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!