由于产品功能的要求,需要让按钮Label垂直显示,看了下Button的源代码,Button 的label文本显示主要依赖于内部textField:IUITextField属性,
那么我们就可以想办法获取到textField的引用,对它进行相关操作设置,就可以让按钮Label垂直排列了.
首先我们需要自定义一个扩展至Button的ButtonExt类,并且定义命名空间:use namespace mx_internal<as3官方的统一命名空间,扩展类如果需要对父类中的一些保护属性进行操作的话,需要使用此命名约定>,这样我们就已经获取到对源Button内部一些属性的操作权限.
接下来只需要关注,在某个阶段实现某些操作就OK了.
1:initialize()初始化阶段
2:updateDisplayList()更新显示列表
具体请看以下代码:
package base.view
{
import flash.filters.GlowFilter;
import flash.text.TextFieldAutoSize;
import mx.controls.Button;
import mx.controls.ButtonLabelPlacement;
import mx.core.mx_internal;
import mx.events.FlexEvent;
/**
* @类名: VButton
* @作者: Angine
* @日期: 2010-1-27
* @版本: V1.0
* @描述:
* 垂直按钮类实现按钮Label文本垂直显示功能
* 功能实现通过获取到Button内部textField引用,
* 并对textField中的设置作出更改。
* 如果你需要调整文字与按钮的位置,需要考虑按钮的 Width,Height,fontSize
* 及paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" 等样式
*/
use namespace mx_internal;
public class VButton extends Button
{
private static const glowFilter:GlowFilter = new GlowFilter(0x000000,1,2,2,288,1,false); //黑色滤镜
public function VButton()
{
super();
}
override public function initialize():void
{
super.initialize();
buttonMode=true;
textField.wordWrap=true;
this.labelPlacement=ButtonLabelPlacement.TOP;
textField.autoSize=TextFieldAutoSize.CENTER;
this.setStyle("paddingBottom",0);
this.setStyle("paddingLeft",0);
this.setStyle("paddingRight",0);
this.setStyle("paddingTop",0);
textField.filters = [glowFilter];//文字描黑边
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth,unscaledHeight);
textField.y=(height-textField.height)/2;
textField.x=(width-textField.width)/2;
}
}
}
分享到:
相关推荐
WPF竖排按钮显示,控制进行字数变换为竖着显示。
自定义textview 实现字体竖排效果
Label控件竖排显示文字一般都是横排的,接下来为大家分享个方法让它变成竖排,感兴趣的童鞋们可以学习下,希望对你有所帮助
文本框文字竖排
WPF文本控件Label文字竖排及字间距控制。
默认 MenuBar横排 此为竖排 源文件从网上下载 经楼主移植为mxlm,方便拖拽使用,附图标添加示例
很不错
MFC中从右向左竖排显示“秦时明月汉时关,万里长征人未还。但使龙城飞将在,不教胡马度阴山。”
C#203文字竖排工具,源代码
不用另外的子题库,将LineChart的文字进行竖排,很简单的例子
网页文字竖排三法,爱好文字特效的网页制作者的最爱
代码有WPF分页的实现; TabControl的TabItem左侧排列且文字竖排的实现!
1. 包里包含源码和一个测试用例,可直接看到效果。 2. 竖排文字的一些说明,移步以下链接 https://blog.csdn.net/piaoyun29/article/details/123255514
Flex3 排版为竖着的TabNavigator实例。
竖文转换器 - 文字竖排工具竖文转换器 - 文字竖排工具
Qtbutton文字和图片分开
arcgis maplex竖排文字,是我自己截图总结的
DevComponents.DotNetBar.TabControl页签文字竖排
蓝鸟编写的,蓝鸟标签文字竖排显示。可以研究和学习很有帮助的。
css实现文字竖排效果