`
icess
  • 浏览: 252392 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

addStatesFromChildren 和跑马灯

    博客分类:
  • Java
阅读更多

在Android中要显示跑马灯是比较容易的,只要设置2个属性就可以了:
android:singleLine="true"
android:ellipsize="marquee"

但 是要显示跑马灯该View必需是可以取得焦点的,只有在取得焦点的情况下跑马灯才会出现.
如果是组合View的情况下就有问题了, 如下一个组合View:

<!-- <br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><? xml version="1.0" encoding="utf-8" ?>
< LinearLayout
  
xmlns:android ="http://schemas.android.com/apk/res/android"
  android:orientation
="vertical"
  android:gravity
="center_vertical"
  android:background
="@drawable/f_background"
  android:layout_width
="fill_parent"
  android:focusable
="true"
  android:layout_height
="50px" >
  
< TextView 
      
android:id ="@+id/info_text"
      android:focusable
="true"
      android:layout_width
="fill_parent"
      android:layout_height
="wrap_content"
      android:text
="test marquee  .. "
      android:textColor
="@color/black"
      android:singleLine
="true"
      android:ellipsize
="marquee"
      android:marqueeRepeatLimit
="3"
      android:textSize
="18sp"
  
/>
  
< TextView 
      
android:id ="@+id/date_text"
      android:layout_width
="fill_parent"
      android:layout_height
="wrap_content"
      android:layout_gravity
="bottom"
      android:textColor
="@color/gray"
      android:text
="2010/05/28"
      android:textSize
="12sp"
  
/>
</ LinearLayout >


上面示例中2个TextView组合为一个View,由于设置了LinearLayout为focusable而TextView就没法取得焦点了,这样 这个TextView的跑马灯效果就显示不出来,就算你也设置TextView的 android:focusable= "true" 也是 没用的. 这个时候就要使用addStatesFromChildren 这个属性了,在LinearLayout中设置这个属性,然后设置TextView的focusable= "true" 就可以了.关于 addStatesFromChildren的说明:

Sets whether this ViewGroup's drawable states also include its children's drawable states.

可以正常显示的代码:

<!-- <br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><? xml version="1.0" encoding="utf-8" ?>
< LinearLayout
  
xmlns:android ="http://schemas.android.com/apk/res/android"
  android:orientation
="vertical"
  android:gravity
="center_vertical"
  android:background
="@drawable/zixun_background"
  android:layout_width
="fill_parent"
  android:addStatesFromChildren
="true"
  android:layout_height
="50px" >
  
< TextView 
      
android:id ="@+id/info_text"
      android:focusable
="true"
      android:layout_width
="fill_parent"
      android:layout_height
="wrap_content"
      android:text
=" "
      android:textColor
="@color/black"
      android:singleLine
="true"
      android:ellipsize
="marquee"
      android:marqueeRepeatLimit
="3"
      android:textSize
="18sp"
  
/>
  
< TextView 
      
android:id ="@+id/date_text"
      android:layout_width
="fill_parent"
      android:layout_height
="wrap_content"
      android:layout_gravity
="bottom"
      android:textColor
="@color/gray"
      android:text
="2010/05/28"
      android:textSize
="12sp"
  
/>
</ LinearLayout >
分享到:
评论

相关推荐

    28335跑马灯_28335跑马灯_28335_跑马灯DSP_f28335跑马灯_TMS320F28335_

    跑马灯是一种常见的电子显示效果,常用于...在实际操作中,还需要对程序进行充分的测试和优化,确保跑马灯效果的稳定和流畅。通过这个项目,不仅可以锻炼嵌入式系统的编程技能,也能深入理解实时控制系统的运行机制。

    DSP跑马灯奇数_程序_dsp跑马灯程序_dsp跑马灯_

    跑马灯程序是一种常见的电子工程实践,特别是在数字信号处理(DSP)领域,它常用于教学和实验,以帮助初学者理解基本的定时器中断和控制序列。标题中的“DSP跑马灯奇数”可能指的是一个特定的设计,它可能强调了在...

    实现按键控制跑马灯的启停_按键控制跑马灯启停_

    在本项目中,我们将利用其强大的I/O端口和中断处理能力,实现通过物理按键控制跑马灯(通常由LED构成)的开启和关闭。 跑马灯,又称为流水灯,是电子工程中的一个经典示例,通常由一组串联或并联的LED组成,它们...

    实现按键控制跑马灯的启停_cc2530走马灯程序_CC2530跑马灯_goldenjgz_

    在跑马灯程序中,我们将选择其中几个端口作为LED的驱动端口,通过设置端口的数据方向寄存器(DDR)和数据输出寄存器(PORT)来控制LED的亮灭。 定时器配置:定时器是实现跑马灯时序的关键。通常我们会选择一个...

    vhdl.rar_matlab跑马灯_vhdl跑马灯_流水灯 matlab_跑马灯_跑马灯VHDL

    vhdl跑马灯 适合初学者同学...流水灯的制作

    Qt 实现的跑马灯效果

    在跑马灯效果中,QLabel通常被用来作为文字滚动的载体,通过改变其几何形状和文字位置来模拟跑马灯效果。 2. **QTimer**:Qt的定时器类QTimer是实现动态效果的关键。通过定时触发特定事件(如更新QLabel的位置),...

    paomadeng.rar_labview 跑马灯_labview跑马灯_跑马灯

    在这个LabVIEW项目中,"labview 跑马灯"实现了这个功能,允许用户自定义跑马灯的内容,包括汉字,使得其更具灵活性和实用性。 LabVIEW中的跑马灯实现主要涉及以下几个知识点: 1. **字符串操作**:程序首先需要...

    实验1 跑马灯实验_跑马灯实验_gpio跑马灯hex_

    跑马灯实验是一种常见的硬件入门实践,主要用于演示和学习微控制器(MCU)对输入输出端口(GPIO)的控制。在这个实验中,我们将重点讨论如何通过编程实现GPIO口的配置,以控制LED灯的顺序闪烁,从而形成跑马灯的效果...

    unity实现简单跑马灯效果

    - 为了适应不同分辨率和设备,可以将跑马灯效果与CanvasScaler配合使用,确保在不同屏幕尺寸下效果一致。 在"RunLight"压缩包中,你应该能找到一个预设的Unity项目,包含了实现上述步骤的场景和脚本。你可以根据...

    博途V16跑马灯程序

    "博途V16跑马灯程序"是一个基于西门子SIMATIC S7-1200 PLC(可编程逻辑控制器)的编程示例,它主要用于教育和实践目的,特别是对于初学者。跑马灯是一种常见的电气工程示例,通过依次点亮或熄灭一串LED灯来模拟马在...

    CocosCreator3.x实现游戏跑马灯全服游戏通知功能

    - **资源管理**:利用3.x的资源管理系统,可以更好地管理和加载跑马灯相关的图片、字体等资源,保证游戏运行流畅。 5. **优化与扩展**: - **多语言支持**:为了适应不同地区的玩家,跑马灯功能应支持多语言。...

    状态栏跑马灯

    1. **Android权限**:在AndroidManifest.xml文件中,可能需要声明`INTERNET`权限,如果跑马灯涉及到网络数据的获取和展示。 2. **自定义View**:创建一个继承自`View`的类,重写`onDraw()`方法,用于绘制跑马灯的...

    android自定义横向跑马灯TextView(两种,即使一个字符也能跑马灯)

    1. `android:singleLine="true"` 和 `android:ellipsize="marquee"` 属性需要设置在XML布局中,以开启跑马灯效果。 2. 跑马灯效果只有在TextView获得焦点时才会启动,可以使用`requestFocus()`方法手动获取焦点。 3....

    基于FPGA的Verilog HDL按键跑马灯

    本项目“基于FPGA的Verilog HDL按键跑马灯”是电子设计的一个经典实例,它结合了硬件描述语言Verilog HDL、FPGA硬件平台以及用户交互元素,如按键和LED显示,提供了对基本数字逻辑和控制流程的实践理解。 首先,...

    跑马灯_跑马灯_stm32_

    在嵌入式系统领域,尤其是在STM32微控制器上实现跑马灯功能,是学习单片机编程和硬件控制的基础练习。 STM32是一款基于ARM Cortex-M内核的32位微控制器,由意法半导体公司(STMicroelectronics)生产。它拥有高性能...

    Swift.跑马灯效果UIView

    为了实现跑马灯效果,`MarqueeView`需要扩展其父类的功能,添加自定义的属性和方法。 1. **属性**: - `contentLabel`:通常是一个`UILabel`,用于显示跑马灯中的文本内容。 - `contentColor`:设置跑马灯内容的...

    Android 跑马灯的实现(可控制速度)

    在实际开发过程中,需要进行充分的测试,包括速度控制的准确性、长文本的处理、不同设备的兼容性等方面,确保跑马灯功能的稳定性和用户体验。 通过以上步骤,我们可以构建出一个功能强大、可控制速度、能处理长...

    实用上下左右滚动的跑马灯JS

    跑马灯效果是一种常见的网页动态展示技术,常用于新闻标题滚动、广告轮播等场景,为页面增添动感和视觉吸引力。在本实例中,我们关注的是一个实现"实用上下左右滚动的跑马灯JS"的代码。这个效果是通过JavaScript语言...

    EDA实现多状态8位跑马灯

    跑马灯通常基于定时器和移位寄存器实现。定时器用于设定闪烁的频率,而移位寄存器则存储LED的状态,并按照一定的顺序进行数据移位,从而使得LED灯依次亮起,形成“跑动”的视觉效果。这里的8位跑马灯意味着有8个LED...

    用javascript实现的跑马灯控件,文字跑马灯或图片跑马灯皆可噢!

    自己用js实现的一个跑马灯控件,通过传入参数对象实例化它,然后启动即可。支持的参数有 div对象(id名称或dom对象都可以,已经在内部作了处理) 宽度(可选) 高度(可选) 内容(由数组实现,数组里存放任何html...

Global site tag (gtag.js) - Google Analytics