jetzt habe ich die Standard-Rechteckform mit diesem Code angezeigt.
this.infoWindow = (ViewGroup)getLayoutInflater().inflate(R.layout.newcustomdialog, null);
this.infoImage=(ImageView)infoWindow.findViewById(R.id.graphicimage);
this.infoTitle = (TextView)infoWindow.findViewById(R.id.balloon_item_title);
this.infoSnippet = (TextView)infoWindow.findViewById(R.id.balloon_item_snippet);
this.close=(Button)infoWindow.findViewById(R.id.close_img_button);
this.infoButton = (Button)infoWindow.findViewById(R.id.more);
//
// Einstellung eines benutzerdefinierten OnTouchListeners, der mit dem gedrückten Zustand umgeht
// so zeigt es sich
this.infoButtonListener = new OnInfoWindowElemTouchListener(HomeScreen.this,infoButton)
{
@Override
protected void onClickConfirmed(View v, Marker marker) {
// v.setVisibility(View.GONE);
// Hier können wir eine Aktion ausführen, die nach dem Klicken des Buttons ausgelöst wird
Toast.makeText(HomeScreen.this, marker.getTitle() + "'s Button wurde geklickt!", Toast.LENGTH_SHORT).show();
}
};
//oraii
this.exitButtonListener=new OnInfoWindowExitListener(HomeScreen.this,infoWindow) {
@Override
protected void onClickConfirmed(View v, Marker marker) {
// TODO Auto-generated method stub
}
};
this.infoButton.setOnTouchListener(infoButtonListener);
this.close.setOnTouchListener(exitButtonListener);
map.setInfoWindowAdapter(new InfoWindowAdapter() {
public View getInfoWindow(Marker marker) {
return null;
}
public View getInfoContents(Marker marker) {
// Einrichten des infoWindow mit den Informationen des aktuellen Markers
StringTokenizer st2 = new StringTokenizer(marker.getTitle(), ",");
String imageurl="";
String title="";
String eventid="";
while (st2.hasMoreElements()) {
eventid=st2.nextElement().toString();
imageurl=st2.nextElement().toString();
title=st2.nextElement().toString();
}
EventId=eventid;
infoTitle.setText(title);
infoSnippet.setText(marker.getSnippet());
imageLoader.DisplayImage(imageurl,HomeScreen.this, infoImage);
infoButtonListener.setMarker(marker);
exitButtonListener.setMarker(marker);
// Dies muss aufgerufen werden, um die aktuellen Marker- und infoWindow-Verweise
// auf das MapWrapperLayout zu setzen
mapWrapperLayout.setMarkerWithInfoWindow(marker, infoWindow);
return infoWindow;
}
});
Ich möchte die Form in Herzform ändern, also eine benutzerdefinierte Form wie eine Diagrammdialogform. Wie mache ich das? Bitte helfen Sie mir, wenn es jemand weiß.