CommonsWare の例を使用して、MapView でスニペットとタイトルのビューをカスタマイズしようとしていますが、スニペットの書体
をカスタマイズすることはできません。
運が良ければ?
質問する
3354 次
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 に答える