title: How to change design of title and snippet above google maps marker
body: <p>i am currently working on an application involving google maps.
  I want to change the design of the information above the location marker. But i cannot figure out how to do this. </p>
  
  <p>To explain;</p>
  
  <p>i have this:</p>
  
  <p><img src="https://i.stack.imgur.com/GjEGF.jpg" alt="Map with standard info window"></p>
  
  <p>and i want this:</p>
  
  <p><img src="https://i.stack.imgur.com/dj1ZD.png" alt="Design for custom info window"></p>
  
  <p>I have the design for the blue box as an image. But i do not know if i need to use the image or write code to make it look like the image.</p>
  
  <p>Here is the code i have so far:</p>
  
  <p><strong>MainActivity</strong>    </p>
  
  <pre><code>import android.content.Context;
  import android.location.Criteria;
  import android.location.Location;
  import android.location.LocationManager;
  import android.os.Build;
  import android.os.Bundle;
  import android.provider.Settings;
  import android.support.v4.app.FragmentActivity;
  import android.text.TextUtils;
  import android.view.Menu;
  import android.view.MenuItem;
  import android.view.View;
  import android.widget.TextView;
  
  import com.google.android.gms.location.LocationListener;
  import com.google.android.gms.maps.CameraUpdateFactory;
  import com.google.android.gms.maps.GoogleMap;
  import com.google.android.gms.maps.SupportMapFragment;
  import com.google.android.gms.maps.model.BitmapDescriptorFactory;
  import com.google.android.gms.maps.model.LatLng;
  import com.google.android.gms.maps.model.Marker;
  import com.google.android.gms.maps.model.MarkerOptions;
  
  
  public class MainActivity extends FragmentActivity implements     LocationListener {
  
      GoogleMap map;
      LatLng myPosition;
  
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      isLocationEnabled(this);
  
  
      // Getting reference to the SupportMapFragment of activity_main.xml
      SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
  
      // Getting GoogleMap object from the fragment
      map = fm.getMap();
  
      // remove geolocation button
      map.getUiSettings().setMyLocationButtonEnabled(false);
  
      // Enabling MyLocation Layer of Google Map
      map.setMyLocationEnabled(true);
  
      // Getting LocationManager object from System Service LOCATION_SERVICE
      LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
  
      // Creating a criteria object to retrieve provider
      Criteria criteria = new Criteria();
  
      // Getting the name of the best provider
      String provider = locationManager.getBestProvider(criteria, true);
  
      // Getting Current Location
      Location location = locationManager.getLastKnownLocation(provider);
  
      if (location != null) {
          // Getting latitude of the current location
          double latitude = location.getLatitude();
  
          // Getting longitude of the current location
          double longitude = location.getLongitude();
  
          // Creating a LatLng object for the current location
          LatLng latLng = new LatLng(latitude, longitude);
  
          myPosition = new LatLng(latitude, longitude);
          LatLng amsterdam = new LatLng(52.3667, 4.9000);
  
  
          // create marker
          MarkerOptions marker = new MarkerOptions().position(myPosition);
          // setting custom marker
          marker.icon(BitmapDescriptorFactory.fromResource(R.drawable.map_marker));
  
          MarkerOptions markerOptions = new MarkerOptions();
          markerOptions.position(myPosition);
          markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.map_marker));
          markerOptions.title(" Title");
  
          markerOptions.snippet(" Here comes the address ");
  
  
          // create and add marker
          Marker locationMarker = map.addMarker(markerOptions);
          // always show info text
          locationMarker.showInfoWindow();
          // opening maps zoomed in at current location
          map.moveCamera(CameraUpdateFactory.newLatLngZoom(amsterdam, 17.0f));
  
  
  
      }
  }
  
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.menu_main, menu);
      return true;
  }
  
  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
      // Handle action bar item clicks here. The action bar will
      // automatically handle clicks on the Home/Up button, so long
      // as you specify a parent activity in AndroidManifest.xml.
      int id = item.getItemId();
  
      //noinspection SimplifiableIfStatement
      if (id == R.id.action_settings) {
          return true;
      }
  
      return super.onOptionsItemSelected(item);
  }
  
  
  @Override
  public void onLocationChanged(Location location) {
  
  
  }
  
  public static boolean isLocationEnabled(Context context) {
      int locationMode = 0;
      String locationProviders;
  
      if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.KITKAT) {
          try {
              locationMode = Settings.Secure.getInt(context.getContentResolver(), Settings.Secure.LOCATION_MODE);
  
          } catch (Settings.SettingNotFoundException e) {
              e.printStackTrace();
          }
  
          return locationMode != Settings.Secure.LOCATION_MODE_OFF;
  
      } else {
          locationProviders = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
          return !TextUtils.isEmpty(locationProviders);
      }
  
  
      }
  }
  </code></pre>
  
  <p><strong>activity_main.xml</strong></p>
  
  <pre><code>&lt;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"
  tools:context=".MainActivity"&gt;
  
  &lt;TextView
      android:id="@+id/tv_location"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content" /&gt;
  
  &lt;fragment xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/map"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:layout_below="@id/tv_location"
      class="com.google.android.gms.maps.SupportMapFragment"
      tools:layout="@layout/abc_action_bar_title_item" /&gt;
  
  
  &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p>Excuse me in advance if i used sloppy coding or bad practices. These files are a playground for me to create the functionality so that i can put it in the actual application later on.</p>