gpt4 book ai didi

Android 谷歌地图透明度

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:04:10 25 4
gpt4 key购买 nike

我正在开发一款 map 应用。我想在 MapView 下显示一些 View 。我正在使用以下方法:

    mapView.setAlpha(0.5f);

mapView 没有任何反应。当我尝试将此方法应用于我的按钮时它工作正常,即使将它应用于 mapView 的父 View 也会使除 mapView 之外的每个 subview 都是透明的。

我们怎样才能使 mapView 透明?我在这里调查了其他问题,但似乎找不到解决方案。

我们可以使用 mapView.getMap() 中的一些特殊方法使其透明吗?

最佳答案

您可以使用 View.setAlpha() ( documentation ) 设置 map 的透明度。这是一个工作示例:

activity_maps.xml:

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="THIS TEXT IS VISIBLE"
android:textSize="24sp"
android:gravity="center"/>

<fragment
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/map"
tools:context=".MapsActivity"
android:name="com.google.android.gms.maps.SupportMapFragment" />

</RelativeLayout>

MapsActivity.java

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);

((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map)).getMapAsync(this);
}

@Override
public void onMapReady(GoogleMap googleMap) {
Marker m = googleMap.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Marker"));
m.showInfoWindow();

View v = getSupportFragmentManager().findFragmentById(R.id.map).getView();
v.setAlpha(0.5f); // Change this value to set the desired alpha
}
}

结果如下所示(由于 map 的透明度,文本是可见的):

enter image description here

关于Android 谷歌地图透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32508488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com