当前位置: 首页 > news >正文

wordpress淘宝助理插件厦门百度整站优化服务

wordpress淘宝助理插件,厦门百度整站优化服务,阳江房产网签数据,o2o家电维修网站开发MapBox Android版开发 6 关于Logo Logo的显示查看源码及思路(Logo)第一步第二步 隐藏Logo示例查看源码及思路(Info)第一步第二步 隐藏Logo和Info示例 看到有网友留言问如何移除Logo,今天看了下V9源码,发现M…

MapBox Android版开发 6 关于Logo

  • Logo的显示
  • 查看源码及思路(Logo)
    • 第一步
    • 第二步
  • 隐藏Logo示例
  • 查看源码及思路(Info)
    • 第一步
    • 第二步
  • 隐藏Logo和Info示例

看到有网友留言问如何移除Logo,今天看了下V9源码,发现MapBox 提供了禁用Logo的功能。

先简单说下思路部分源码,最后是示例。

Logo的显示

MapBox通过MapView展示地图和地图上的要素,地图上的要素也是MapView的一部分。要隐藏其中一个元素,最先要考虑要素渲染的方式。

  1. 通过Android控件叠在地图上。
  2. 借助覆盖物接口渲染。
  3. 在底层与地图一起渲染。

三种可能的显示方式,对应隐藏的难易程度也不通,隐藏方式也不同。

查看源码及思路(Logo)

第一步

接下来要确认MapBox是如何显示Logo的。先看MapView的源码。

步骤1:在MapView中可以很快找到方法MapView.initialiseLogoViewLogo是通过ImageView显示在地图上的。

protected ImageView initialiseLogoView() {ImageView logoView = new ImageView(this.getContext());addView(logoView);logoView.setTag("logoView");logoView.getLayoutParams().width = LayoutParams.WRAP_CONTENT;logoView.getLayoutParams().height = LayoutParams.WRAP_CONTENT;logoView.setImageDrawable(BitmapUtils.getDrawableFromRes(getContext(), R.drawable.mapbox_logo_icon));return logoView;
}

步骤2:查看MapView.initialiseLogoView 调用,在UiSettings.initialiseLogo方法中创建了Logo视图。

private void initialiseLogo(MapboxMapOptions options, @NonNull Resources resources) {isLogoInitialized = true;logoView = mapView.initialiseLogoView();setLogoEnabled(options.getLogoEnabled());setLogoGravity(options.getLogoGravity());setLogoMargins(resources, options.getLogoMargins());
}

步骤3UiSettingsLogo相关的属性和接口,这其中就包含隐藏Logo的方法UiSettings.setLogoEnabled

ImageView logoView;
boolean isLogoInitialized = false;private void initialiseLogo(MapboxMapOptions options, @NonNull Resources resources);
private void setLogoMargins(@NonNull Resources resources, @Nullable int[] logoMargins);
private void saveLogo(Bundle outState);
private void restoreLogo(Bundle savedInstanceState);
// Enables or disables the Mapbox logo.
public void setLogoEnabled(boolean enabled);
public boolean isLogoEnabled();
public void setLogoGravity(int gravity);
public int getLogoGravity();
public void setLogoMargins(@Px int left, @Px int top, @Px int right, @Px int bottom);
public int getLogoMarginLeft();
public int getLogoMarginTop();
public int getLogoMarginRight();
public int getLogoMarginBottom();

第二步

接下来的问题是,如何获取UiSettings对象?MapboxMap提供了方法。

UiSettingsMapboxMap部分类图:

UiSettings
+void setLogoEnabled(boolean enabled)
MapboxMap
-UiSettings uiSettings
+UiSettings getUiSettings()

隐藏Logo示例

在地图初始化成功后,通过MapboxMapUiSettings对象,隐藏Logo

mapView.getMapAsync(new OnMapReadyCallback() {@Overridepublic void onMapReady(@NonNull MapboxMap mapboxMap) {// 隐藏Logo mapboxMap.getUiSettings().setLogoEnabled(false);mapStyle = new MapStyle(mapboxMap);mapStyle.changeStyle(Style.MAPBOX_STREETS);}
});

运行效果图如下。

运行后发现在原本Logo的右侧还有一个 ,参考隐藏Logo的思路,接下来通过源码找隐藏 Info 的方法。

在这里插入图片描述

查看源码及思路(Info)

第一步

步骤1:在MapView初始化Logo代码中,Logo资源为R.drawable.mapbox_logo_icon,接下来找info对应的资源。

protected ImageView initialiseLogoView() {ImageView logoView = new ImageView(this.getContext());addView(logoView);logoView.setTag("logoView");logoView.getLayoutParams().width = LayoutParams.WRAP_CONTENT;logoView.getLayoutParams().height = LayoutParams.WRAP_CONTENT;logoView.setImageDrawable(BitmapUtils.getDrawableFromRes(getContext(), R.drawable.mapbox_logo_icon));return logoView;
}

步骤2MapBoxdrawable不多,能很快找到logoinfo的资源。

mapbox_logo_icon.png
mapbox_info_icon_default.png
mapbox_info_icon_selected.png
mapbox_info_bg_selector

步骤3MapView.initialiseAttributionView使用了info资源。

protected ImageView initialiseAttributionView() {ImageView attrView = new ImageView(this.getContext());addView(attrView);attrView.setTag("attrView");attrView.getLayoutParams().width = LayoutParams.WRAP_CONTENT;attrView.getLayoutParams().height = LayoutParams.WRAP_CONTENT;attrView.setAdjustViewBounds(true);attrView.setClickable(true);attrView.setFocusable(true);attrView.setContentDescription(getResources().getString(R.string.mapbox_attributionsIconContentDescription));attrView.setImageDrawable(BitmapUtils.getDrawableFromRes(getContext(), R.drawable.mapbox_info_bg_selector));// inject widgets with MapboxMapattrView.setOnClickListener(attributionClickListener = new AttributionClickListener(getContext(), mapboxMap));return attrView;
}

步骤4:查看MapView.initialiseAttributionView 调用,在UiSettings.initialiseAttribution方法中创建了Info视图。

private void initialiseAttribution(@NonNull Context context, MapboxMapOptions options) {isAttributionInitialized = true;attributionsView = mapView.initialiseAttributionView();setAttributionEnabled(options.getAttributionEnabled());setAttributionGravity(options.getAttributionGravity());setAttributionMargins(context, options.getAttributionMargins());int attributionTintColor = options.getAttributionTintColor();setAttributionTintColor(attributionTintColor != -1? attributionTintColor : ColorUtils.getPrimaryColor(context));
}

步骤3UiSettingsAttribution相关的属性和接口,这其中就包含隐藏Info的方法UiSettings.setAttributionEnabled

ImageView attributionsView;
private final int[] attributionsMargins = new int[4];
private AttributionDialogManager attributionDialogManager;
boolean isAttributionInitialized = false;private void initialiseAttribution(@NonNull Context context, MapboxMapOptions options);
private void setAttributionMargins(@NonNull Context context, @Nullable int[] attributionMargins);
private void saveAttribution(Bundle outState);
private void restoreAttribution(Bundle savedInstanceState);
// Enables or disables the attribution.
public void setAttributionEnabled(boolean enabled);
public boolean isAttributionEnabled();
public void setAttributionDialogManager(@NonNull AttributionDialogManager attributionDialogManager);
public AttributionDialogManager getAttributionDialogManager();
public void setAttributionGravity(int gravity);
public int getAttributionGravity();
public void setAttributionMargins(@Px int left, @Px int top, @Px int right, @Px int bottom);
public void setAttributionTintColor(@ColorInt int tintColor);
public int getAttributionMarginLeft();
public int getAttributionMarginTop();
public int getAttributionMarginBottom();

第二步

UiSettingsMapboxMap部分类图:

UiSettings
+void setLogoEnabled(boolean enabled)
+void setAttributionEnabled(boolean enabled)
MapboxMap
-UiSettings uiSettings
+UiSettings getUiSettings()

隐藏Logo和Info示例

在地图初始化成功后,通过MapboxMapUiSettings对象,隐藏LogoInfo

mapView.getMapAsync(new OnMapReadyCallback() {@Overridepublic void onMapReady(@NonNull MapboxMap mapboxMap) {// 隐藏Logo和InfomapboxMap.getUiSettings().setLogoEnabled(false);mapboxMap.getUiSettings().setAttributionEnabled(false);mapStyle = new MapStyle(mapboxMap);mapStyle.changeStyle(Style.MAPBOX_STREETS);}
});

运行效果图

在这里插入图片描述


文章转载自:
http://nodose.rymd.cn
http://byrd.rymd.cn
http://rami.rymd.cn
http://smallsword.rymd.cn
http://discase.rymd.cn
http://excogitation.rymd.cn
http://aneurin.rymd.cn
http://hermit.rymd.cn
http://chang.rymd.cn
http://reapparition.rymd.cn
http://satan.rymd.cn
http://bonaci.rymd.cn
http://censoriously.rymd.cn
http://bryony.rymd.cn
http://alpinism.rymd.cn
http://usufruct.rymd.cn
http://songless.rymd.cn
http://ceremonialize.rymd.cn
http://dimness.rymd.cn
http://araneidan.rymd.cn
http://thinner.rymd.cn
http://agamous.rymd.cn
http://predicatively.rymd.cn
http://aeonian.rymd.cn
http://festally.rymd.cn
http://calender.rymd.cn
http://interdepartmental.rymd.cn
http://badger.rymd.cn
http://vitaminic.rymd.cn
http://fluidness.rymd.cn
http://chillsome.rymd.cn
http://avatar.rymd.cn
http://overindulge.rymd.cn
http://sepulchral.rymd.cn
http://sharecropper.rymd.cn
http://tunable.rymd.cn
http://coronavirus.rymd.cn
http://foggy.rymd.cn
http://trivet.rymd.cn
http://dipsy.rymd.cn
http://canvasback.rymd.cn
http://underfeed.rymd.cn
http://rawboned.rymd.cn
http://essentialist.rymd.cn
http://schmuck.rymd.cn
http://outdare.rymd.cn
http://weightily.rymd.cn
http://hellenic.rymd.cn
http://emmenia.rymd.cn
http://march.rymd.cn
http://mompei.rymd.cn
http://egghead.rymd.cn
http://collation.rymd.cn
http://calorigenic.rymd.cn
http://balalaika.rymd.cn
http://rheogoniometry.rymd.cn
http://ungrave.rymd.cn
http://informational.rymd.cn
http://overspend.rymd.cn
http://pigeonite.rymd.cn
http://diskpark.rymd.cn
http://hemocoele.rymd.cn
http://considerately.rymd.cn
http://superbity.rymd.cn
http://savagely.rymd.cn
http://cautelous.rymd.cn
http://hematuria.rymd.cn
http://cyanotype.rymd.cn
http://royalties.rymd.cn
http://roughdry.rymd.cn
http://leftover.rymd.cn
http://fluxionary.rymd.cn
http://raspberry.rymd.cn
http://calices.rymd.cn
http://alamo.rymd.cn
http://primitively.rymd.cn
http://var.rymd.cn
http://thermoelectrometer.rymd.cn
http://ihp.rymd.cn
http://fiendish.rymd.cn
http://idiochromatic.rymd.cn
http://layelder.rymd.cn
http://liaison.rymd.cn
http://outtrade.rymd.cn
http://formulating.rymd.cn
http://fudge.rymd.cn
http://glutaraldehyde.rymd.cn
http://laborism.rymd.cn
http://anxiety.rymd.cn
http://niddering.rymd.cn
http://recolonize.rymd.cn
http://proffer.rymd.cn
http://extraovate.rymd.cn
http://flurazepam.rymd.cn
http://dactylitis.rymd.cn
http://sweatproof.rymd.cn
http://bicuculline.rymd.cn
http://acetify.rymd.cn
http://lisp.rymd.cn
http://orangutang.rymd.cn
http://www.15wanjia.com/news/94499.html

相关文章:

  • 网站建设教程论坛百度公司的企业文化
  • 杭州做网站电话seo兼职接单平台
  • 杭州网站做的好公司名称网站引流推广怎么做
  • 有个找人做任务赚返佣的网站关键词排名点击软件
  • 网站建设制作优帮云怎么在百度上发布自己的信息
  • 武汉市东西湖建设局网站推广普通话的重要意义
  • 活动4 第1步 【学习】建设主题资源网站的一些建议测试海淀区seo多少钱
  • 上海公安门户网站官网电商培训班一般多少钱
  • 企业网站建设教程槐荫区网络营销seo
  • 电商网站建设考试题麒麟seo外推软件
  • 现如今网站开发用什么框架百度推广售后客服电话
  • 购物网站怎么做优化中国最新领导班子
  • 白之家 低成本做网站品牌网站建设制作
  • 成品网站免费网站下载网络营销软文范例
  • 自己可以给公司做网站吗直通车关键词优化
  • 怎么制作自己的商城网站seo诊断技巧
  • wordpress主题摄影武汉seo报价
  • 美食网站设计方案百度seo2022
  • 网站建设 微信 app网络营销方式对比分析
  • wordpress 网站运行时间搜索引擎seo优化
  • 阜阳网站开发招聘太原百度快速优化
  • 上海通报最新疫情天津搜狗seo推广
  • 高校图书馆网站建设网络推广竞价是什么
  • 百度网站描述广州seo顾问
  • 百度网站建设推广搜图片找原图
  • 网上接手袋做是哪一个网站在线网页制作工具
  • 苏州市姑苏区建设局网站seo关键词排名如何
  • 企业手机网站设计实体店怎么引流推广
  • 临漳县web网站建设东莞网站建设最牛
  • 公众号网站怎么做seo如何提高排名