高德地图自定义infowindow样式,textview设置文字在背景图中的位置

A、当点击高德地图的overlay时,弹出个infowindow,可是这个infowindow怎么自定义样式呢?各种上网搜啊,最后是这么个东西:

<span style="font-size:18px;">	@Override
	public View getInfoWindow(Marker marker) {
		/*
		 * //初始化marker内容 MarkerOptions markerOptions = new MarkerOptions();
		 * //这里很简单就加了一个TextView,根据需求可以加载复杂的View TextView textView = new
		 * TextView(getApplicationContext()); textView.setText("TBBT-channel");
		 * textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15);
		 * textView.setTextColor(Color.BLACK);
		 * textView.setBackgroundResource(R.drawable
		 * .custom_info_bubble);//通过View获取BitmapDescriptor对象 BitmapDescriptor
		 * markerIcon = BitmapDescriptorFactory.fromView(textView);
		 * markerOptions.position(latlng1).icon(markerIcon).title("marker1");
		 */
		TextView textView = new TextView(getApplicationContext());
		textView.setText("TBBT-channel");
		textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15);
		textView.setTextColor(Color.WHITE);
		textView.setGravity(Gravity.CENTER_HORIZONTAL);
		textView.setPadding(20, 10, 20, 20);
		textView.setBackgroundResource(R.drawable.custom_info_bubble);// 通过View获取BitmapDescriptor对象

		return textView;
	}</span>

B、在getInfoWindow方法中编辑,因为这个方法返回的就是个view,就是用来返回一个自定义样式的infowindow,是个什么都行,也可以返回个按钮。

C、在里面设置textview的文字,颜色,字体大小,背景和文字在背景中的位置,其中设置textview在背景中的位置为:

<span style="font-size:24px;color:#ff0000;"><strong>textView.setGravity(Gravity.center);</strong></span>

可是效果如图:

D、文字并不在背景中间,因为背景底部还有个箭头,也占高度。

怎么办,各种找,各种函数,找一个距离顶部多少dip的函数,

E、最后找到个函数:

<span style="font-size:24px;color:#ff0000;"><strong>textView.setPadding(20, 10, 20, 20);</strong></span>

距离 左,上,右,下 各多少个像素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值