Java与Flex学习笔记----用CSS控制页面样式

标签: java flex 学习 | 发表时间:2012-07-15 18:13 | 作者:拼搏
出处:http://www.blogjava.net/

以前对于Flex网页布局还不是很明白,基本上没有什么修饰。但是做完了一个仿“115网盘”的页面后,对页面控制有了一个基本的了解,现总结一下。


     本人一开始接触的就是Flex4,据说Flex3的css布局很脊椎,也不知道是不是这样。但是Flex4的网页布局很牛X,再配上各种事件,可以实现需要写很多JavaScript/Ajax代码才能实现的效果。


     好了,言归正传。


      在Flex4中使用css控制样式,既可以直接在mxml文件中写样式,也可以新建一个css文件在这个文件里写样式,更重要的是这样便于管理。


       如果直接在mxml中写样式的话,我们可以直接在想要控制的控件里直接写css元素,比如:left,right,top等。如果要控制的元素非常多的话,这样是不便于管理的建议写在一个css文件里。


       好了,现在好好说说利用css文件控制样式。


      首先新建一个css文件,这个很简单,就不多说了。


      新建了一个css文件后需要将此文件引用到被控制的mxml文件里,具体如下所示:

 

      <fx:Style source="css文件路径" />

 

      在css文件里获得想要控制的对象可以通过在被控制对象里设置id来进行,如控制如下canvas需要设置id:

 

       <mx:Canvas  width="98"height="110" id="disk_canvas"   />

 

      在css文件里通过“#”获取,如:


      #disk_canvas{

             focusColor:#D6E0ED;

             top:89;

      }


     我们也可以像在html设置类来进行,即设置styleName属性,如:


      <mx:Canvas  width="98"height="110" styleName="disk_canvas"   />


      在css文件里通过如下所示的“ .”来进行设置:


     .disk_canvas{

          focusColor:#D6E0ED;

          top:89;

       }


    然后mxml文件中用到和这一样的样式时,只需要写上此styleName就可以了。


    总体上就是这样,但是上述不是很适合在“动态”的状态下设计样式,我们可以通过“setStyle”来设置样式:

 

     id.setStyle(“css属性”,”css值”);


     如下图当鼠标通过左侧的“网盘”时,中间的图片切换如下所示:




       当鼠标经过“消息”时中间的图片切换如下所示:




       不仔细看看,还是挺像的哈!这就是通过事件进行切换的,(*^__^*) …


       上述方法很合适在事件中动态的设置样式。


       设置样式就是这么简单。在html页面中我们是通过“div+css”控制样式,但是在flex中我们可以通过“canvas+css”控制样式。使用过多的Hbox,Vbox等会影响性能,但是canvas是一个比较小的容器,可以满足大部分的需求。



拼搏 2012-07-15 18:13 发表评论

相关 [java flex 学习] 推荐:

Java与Flex学习笔记----用CSS控制页面样式

- - BlogJava-首页技术区
以前对于Flex网页布局还不是很明白,基本上没有什么修饰. 但是做完了一个仿“115网盘”的页面后,对页面控制有了一个基本的了解,现总结一下.      本人一开始接触的就是Flex4,据说Flex3的css布局很脊椎,也不知道是不是这样. 但是Flex4的网页布局很牛X,再配上各种事件,可以实现需要写很多JavaScript/Ajax代码才能实现的效果.

Flex与java通过BlazeDS实现通信(简单Demo)

- - CSDN博客推荐文章
因为对于flex本人也是新手,此前按照网上的各种方法进行试验,都没能实现flex与java的通信. 也许是eclipse和tomcat版本的问题. 后来经过几天的尝试,终于成功了. 现和大家分享一下,希望和我一样曾经饱受困扰的同胞们,能够根据我的Demo,配置成功. 2、Myeclipse 8.5 (或以上版本).

写编译器:学习GNU Flex,写一个词法分析器

- zffl - Xiaoxia[PG]
以下内容仅为个人学习笔记,非正规教程,难免有疏漏之处,请指出. 目标要分析词法的对象是一种叫TINY+的计算机语言. char str; int x, fact; str:= 'sample program in TINY+ language- computes factorial'; read x; if x>0 and x<100 then {don’t compute if x<=0}.

json学习(java篇)

- - 博客园_首页
前一个小项目中用到了json:服务器返回的数据有xml或者json格式的数据,由于json简洁、轻量、高性能等优点,我们当时就采用的是json格式的数据. 上个月没有心情学习啊,就索性多玩会儿,不过今年得有个目标,至少博客得多写写,质量上也希望比前几个月有所提升,那就开始吧. 先从json基础知识开始学起.

Flash与Flex路在何方?

- chris - 伯乐在线 -博客
  注:本文转载自InfoQ - 张龙.   Adobe想要强化Flash与Flex在企业,特别是在移动领域中的地位. 但最近的一项调研表明jQuery已经超越了Flash,成为前17,000个网站首选的Web部署解决方案.   近日,来自Adobe Systems开发工具事业部的产品经理Andrew Shorten在Adobe的官方博客上发表了一篇博文,谈到了Flash与Flex的当前状态,并就Adobe的旗舰平台给出了自己的一些看法.

Java 集合类学习

- - CSDN博客推荐文章
二、 几个比较重要的接口和类简介. 1、List(有序、索引、可重复).      List里存放的对象是有序的,同时也是可以重复的,List关注的是索引,拥有一系列和索引相关的方法.      ArrayList(数组、快速访问).      ArrayList可以理解成一个可增长的数组,因此可以通过索引快速访问.

java学习避免死锁

- - Java - 编程语言 - ITeye博客
原文链接        作者:Jakob Jenkov. 译者:申章   校对:丁一. 在java中有些情况下死锁是可以避免的. 本文将展示三种用于避免死锁的技术:. 当多个线程需要相同的一些锁,但是按照不同的顺序加锁,死锁就很容易发生. 如果能确保所有的线程都是按照相同的顺序获得锁,那么死锁就不会发生.

Java多线程学习

- - CSDN博客编程语言推荐文章
  线程是一种轻量级的进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单. 即多个线程可以同时执行,就像有多条流水线一样,可以同时进行工作,是并发执行的.   程序是由进程组成的,进程是由线程组成的.

移动端flex布局实战

- -
做过移动端的同学都知道移动端布局太难了,终端太多了,传统的布局方式已经力不从心,各种新的布局方式被发明. 在flex之前,传统布局有流式布局(就是默认的方式),绝对定位布局,弹性布局(em),和浮动布局,其中浮动布局并不是为布局而设计的,使用起来略显繁琐. 2009年,对前端来说是不平凡的一年,html5定稿,es5.1发布,flex应运而生,天生响应式,生而为布局,使用及其简单.