【发布时间】:2017-09-21 08:25:37
【问题描述】:
在我的应用程序中,我想为此制作自定义标记 InfoWindow 和透明背景。
我写了下面的代码,但它再次向我显示了错误的背景。我想要透明背景,而不是白色。
我的代码:
this.infoWindow = (ViewGroup) getLayoutInflater().inflate(R.layout.custominfowindow_one_button, null);
this.infoButton = (Button) infoWindow.findViewById(R.id.button);
this.infoButton_cancel=(Button) infoWindow.findViewById(R.id.btn_close_infowindow) ;
mapWrapperLayout = (MapWrapperLayout) findViewById(R.id.map_relative_layout);
mapWrapperLayout.init(mMap, getPixelsFromDp(this, 39 + 20));
infoButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
infoWindowReady = !infoWindowReady;
}
});
this.infoButtonListener = new OnInfoWindowElemTouchListener(infoButton, getResources().getDrawable(R.color.trans),
getResources().getDrawable(R.color.trans),context) {
@Override
protected void onClickConfirmed(View v, Marker marker) {
}
};
this.infoButton.setOnTouchListener(infoButtonListener);
this.infoButton_cancelListener = new OnInfoWindowElemTouchListener(infoButton_cancel, getResources().getDrawable(R.drawable.ic_cancel3),
getResources().getDrawable(R.drawable.ic_cancel3),context) {
@Override
protected void onClickConfirmed(View v, Marker marker) {
addmarker_map.hideInfoWindow();
}
};
this.infoButton_cancel.setOnTouchListener(infoButton_cancelListener );
mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker marker) {
return null;
}
@Override
public View getInfoContents(Marker marker) {
if (serviceName == "geocode" && !hasGeoInfo) {
if (__counter == 1) {
infoButton.setText("نشانگر");
togglePopup();
} else if (__counter + "" == null) {
__counter = 0;
__counter++;
} else {
__counter++;
}
}
infoButtonListener.setMarker(marker);
mapWrapperLayout.setMarkerWithInfoWindow(marker, infoWindow);
return infoWindow;
}
});
我的 XML 代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/dfhdfthd">
<Button
android:id="@+id/btn_close_infowindow"
android:layout_width="@dimen/size25dp"
android:layout_height="@dimen/size25dp"
android:layout_marginLeft="@dimen/size70dp"
android:background="@drawable/ic_cancel3"
android:backgroundTint="#868585" />
<Button
android:id="@+id/button"
android:layout_width="@dimen/size100dp"
android:layout_height="@dimen/size30dp"
android:layout_below="@+id/btn_close_infowindow"
android:layout_marginTop="-5dp"
android:background="@color/trans" />
</RelativeLayout>
请看这张图片来理解我的意思:https://image.ibb.co/bsx7W5/photo_2017_09_21_12_44_22.jpg
如何为 infoWindows 制作透明背景?请帮帮我。
【问题讨论】:
-
你需要创建九个补丁图像
-
@akhilesh0707,这个九补丁图片在哪里设置?
-
在
custominfowindow_one_button上添加背景 -
@akhilesh0707,我的兄弟,我不工作:(
-
发布您的
custominfowindow_one_button.xml
标签: android google-maps google-maps-markers