2

CommonsWare の例を使用して、MapView でスニペットとタイトルのビューをカスタマイズしようとしていますが、スニペットの書体
をカスタマイズすることはできません。 運が良ければ?
カスタム スニペット MapsV2

4

1 に答える 1

4

CommonsWare の例を拡張した場合は、InfoWindow の表示を担当する PopupAdapter が必要です。

その PopupAdapter を拡張して、Assets フォルダーから Typeface を読み込み、それをタイトルおよびスニペット ビューの書体として設定しました。

class PopupAdapter implements InfoWindowAdapter {
    LayoutInflater inflater = null;

    // Context is most likely the map hosting activity. 
    // We need this so we get access to the Asset Manager
    Context context = null;

    PopupAdapter(LayoutInflater inflater, Context context) {
        this.inflater = inflater;
        this.context = context;
    }

    @Override
    public View getInfoWindow(Marker marker) {
        return (null);
    }

    @Override
    public View getInfoContents(Marker marker) {
        View popup = inflater.inflate(R.layout.popup, null);

        TextView tv = (TextView) popup.findViewById(R.id.title);

        tv.setText(marker.getTitle());

        // We load a typeface by using the static createFromAssets method
        // and provide the asset manager 
        // and a path to the file within the assets folder
        Typeface tf = Typeface.createFromAsset(context.getAssets(),
                "GoodDog.otf");
        // then set the TextViews typeface
        tv.setTypeface(tf);
        tv = (TextView) popup.findViewById(R.id.snippet);
        tv.setText(marker.getSnippet());
        tv.setTypeface(tf);

        return (popup);
    }
}
于 2013-03-31T14:13:43.467 に答える