flexiewer里遇到的一些问题

infoWindowRenderer问题 在arcgis api for flex中要设置infowindow的外观很容易,只需要在编写一下css文件即可,就如

esri|InfoWindow

{

border-thickness: 0;

background-color: green;

font-size: 16;   upper-left-radius: 15;

upper-right-radius: 0;   info-placement: top;

}

无论是直接使用Map的infowindow,还是通过infoWindowRenderer渲染器来设置Graphic的infowindow,或是使用FeatureLayer 的infoWindowRenderer来展现infowindow,通过上面的方法都是可以正常实现的。

但是如果你是使用flexviewer框架来设置infowindow外观,还是通过上面的方法,结果你会发现只能改改字体大小,字体颜色什么的, 并不能改变infowindow的外观(诸如背景),原因就在于flexviewer在框架里已经为你写了,并且infowindow的外观设置的跟你的应用 程序的外观是一样的,可以从代码里看出来,具体代码在  UIManager.as 里,可以找到

var cssStyleDeclarationInfoContainer:CSSStyleDeclaration = topLevelStyleManager.getStyleDeclaration("com.esri.ags.components.supportClasses.InfoWindow");

if (numberOfStyleColors > 4)

{

cssStyleDeclarationInfoContainer.setStyle("backgroundColor", backgroundColor);

cssStyleDeclarationInfoContainer.setStyle("borderColor", textColor);

}

backgroundColor可以再自己重新定义一个, 找到下面这个

if (numberOfStyleColors > 4)

{

textColor = configData.styleColors[0];

backgroundColor = configData.styleColors[1];

rolloverColor = configData.styleColors[2];

selectionColor = configData.styleColors[3];

titleColor = configData.styleColors[4];

applicationBackgroundColor = (configData.styleColors[5] != null) ? configData.styleColors[5] : 0xFFFFFF;

你定义的颜色值名称 = 配置文件的第几个颜色值;

}

然后再再配置文件(config.xml)里添加颜色值(即在style节点下面的color的节点里添加几个颜色值) 如果仔细看这个as文件的话,大概就会明白

同时当你把这个背景色改成你想要的颜色后,又出现个问题,infowindow的标题栏还是以前的颜色,这就需要你改另一处配置啦, 也是在这个as文件里

var cssStyleDeclarationContentNavigator:CSSStyleDeclaration = topLevelStyleManager.getStyleDeclaration("com.esri.ags.components.ContentNavigator"); if (numberOfStyleColors > 4)

{

cssStyleDeclarationContentNavigator.setStyle("headerBackgroundColor", backgroundColor);

cssStyleDeclarationContentNavigator.setStyle("headerColor", textColor);

} 设置这个跟上面的一样

通过官方给出的API关于com.esri.ags.components.ContentNavigator

The ContentNavigator is a generic container for UIComponents. It can be used as the content of the InfoWindow or used outside of the Map. You set its dataProvider with a list of components and they are displayed one at a time. If a component is a Graphic,  it looks for an infoWindowRenderer IFactory on the graphic or the graphic's graphicsLayer. If no infoWindowRenderer is found, it shows a default key-value data grid.

也就是说同时需要修改他的外观才能像在第一种方式设置的外观一样,甚至做的外观更美观

flexviewer infowindow背景问题的更多相关文章

  1. (一)FlexViewer之整体框架解析

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.FlexViewer简介 FlexViewer框架为Esri提供的 ...

  2. Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37737213 上篇博客已经实现了地图的定位以及结合了方向传感器用户路痴定位方向, ...

  3. Android 百度地图 SDK v3.0.0 (三) 加入覆盖Marker与InfoWindow使用

    转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/37737213 上篇博客已经实现了地图的定位以及结合了方向传感器用户路痴定位方向, ...

  4. 设置windows10 背景颜色

    [Win + R ] regedit 打开注册表 HKEY_CURRENT_USER\Control Panel\Colors 1.[InfoWindow] 默认为(白色):255 255 255, ...

  5. CSS3 background-image背景图片相关介绍

    这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...

  6. 冒泡,setinterval,背景图的div绑定事件,匿名函数问题

    1.会冒泡到兄弟元素么? $(function(){ $("#a").click(function(){alert("a")}) $("#b" ...

  7. app引导页(背景图片切换加各个页面动画效果)

    前言:不知不觉中又加班到了10点半,整个启动页面做了一天多的时间,一共有三个页面,每个页面都有动画效果,动画效果调试起来麻烦,既要跟ios统一,又要匹配各种不同的手机,然后产品经理还有可能在中途改需求 ...

  8. CSS 3学习——box-sizing和背景

    box-sizing 在CSS 2中设置元素的width和height仅仅是设置了元素内容区的宽和高,元素实际的尺寸是margin + border + padding + 内容区. CSS 3(截止 ...

  9. .NET同步与异步之相关背景知识(六)

    在之前的五篇随笔中,已经介绍了.NET 类库中实现并行的常见方式及其基本用法,当然.这些基本用法远远不能覆盖所有,也只能作为一个引子出现在这里.以下是前五篇随笔的目录: .NET 同步与异步之封装成T ...

随机推荐

  1. React第二篇:组件的生命周期

    前言:因为生命周期是必须要掌握的,所以React的第二篇咱就写这. (版本:16.3.2) React的生命周期大致分为四个状态:分别是Mouting.Updating.Unmounting.Erro ...

  2. Angular material mat-icon 资源参考_Hardware

    ul,li>ol { margin-bottom: 0 } dt { font-weight: 700 } dd { margin: 0 1.5em 1.5em } img { height: ...

  3. 分分钟钟学会Python - 数据类型(set)

    目录 今日内容 具体内容 1.集合含义 2.独有方法 3.公共方法 4.特殊情况 5.总结 @ 今日内容 集合(set) 具体内容 1.集合含义 一个无序的不重复元素序列. 可以使用大括号 { } 或 ...

  4. java多线程-ThreadLocal

    大纲: 用法 源码 一.用法 ThreadLocal是一个容器,顾名思义就是把一个变量存到线程本地. class Test { public static void main(String[] arg ...

  5. C# 直接创建一个DataTable,并为之添加数据(自定义DataTable) 转

    DataTable dt=new DataTable("cart"); DataColumn dc1=new DataColumn("prizename",Ty ...

  6. Oracle给Select结果集加锁,Skip Locked(跳过加锁行获得可以加锁的结果集)

    1.通过select for update或select for update wait或select for update nowait给数据集加锁 具体实现参考select for update和 ...

  7. ios 开发之旅

    你可能还在跟我一样傻傻的研究,怎么用visual studio 开发ios 里,哪就浪费时间吧!因为在安装 xmarin的时候,自动可以选择ios for Visual studio ,安装完也不能编 ...

  8. CoreJava笔记之线程

    程序,进程和线程程序:没有执行的指令序列和相关的数据的集合(如:qq.exe) 如:磁盘上的可执行命令进程:正在执行的程序,进程占用资源(CPU,Memoary,IO)线程:是进程中并发执行的过程(共 ...

  9. .NET环境下的DPAPI加密编程

    Windows的本地加密保护机制提供了简单的调用接口,密钥的生成.保护等事项一概由系统来处理,其编程接口称为DPAPI.这一加密保护机制的边界是用户登录帐户或者本地计算机系统,使用操作系统设定的加密处 ...

  10. list-iscroll5.2

    简介 iScroll是一个高性能,资源占用少,无依赖,多平台的JavaScript滚动插件. 它可以在桌面,移动设备和智能电视平台上工作.它一直在大力优化性能和文件大小以便在新旧设备上提供最顺畅的体验 ...