Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flex
Flex Forum d'entraide sur la programmation Adobe Flex : applications Internet riches (RIA)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/06/2011, 10h41   #1
Nouveau Membre du Club
 
Inscription : juin 2006
Messages : 122
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2006
Messages : 122
Points : 27
Points : 27
Par défaut Datagrid avec le bord inférieur progressivement transparent

Bonjour,

Tout est dit dans le titre. Voici le composant que j'ai rédigé mais qui ne s'affiche pas correctement :
- soit le resultat est identique qu'un visible = false + includeInLayout = true
- soit j'ai un bout de la datagrid qui s'affiche (de la taille du mask) mais de transparence progressive...

Le code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
 
package com.svarlet.playr.presentation.controls.custom
{
	import flash.display.GradientType;
 
	import mx.controls.DataGrid;
	import mx.controls.dataGridClasses.DataGridColumn;
	import mx.core.UIComponent;
 
	/**
	 * 
	 * 
	 * @author 651911
	 */
	public class PrettyDatagrid extends DataGrid
	{
		private var _prettyMask:UIComponent;
		private var _maskColor:uint;
		private var _maskAlpha:uint;
 
		public function PrettyDatagrid()
		{
			super();
		}
 
		override protected function createChildren():void
		{
			super.createChildren();
 
			prettyMask = new UIComponent();
		}
 
		override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
		{
			super.updateDisplayList(unscaledWidth, unscaledHeight);
 
			prettyMask.graphics.beginFill(0xFF0000, 0.5);
			//prettyMask.graphics.beginGradientFill(GradientType.LINEAR, [maskColor, 0xFFFFFF], [0, 1], [0, 256]);
			prettyMask.graphics.drawRect(0, 0, 100, 100);
			prettyMask.graphics.endFill();
			prettyMask.x = 0;
			prettyMask.y = 0;
 
			//astuce suggérée par certains blogs mais qui ne résouds pas mon problème:
			prettyMask.cacheAsBitmap = true;
			this.cacheAsBitmap = true;
 
			this.addChild(prettyMask);
			this.mask = prettyMask;
		}
 
		public function get prettyMask():UIComponent
		{
			return _prettyMask;
		}
 
		public function set prettyMask(value:UIComponent):void
		{
			_prettyMask = value;
		}
 
		public function get maskColor():uint
		{
			return _maskColor;
		}
 
		public function set maskColor(value:uint):void
		{
			_maskColor = value;
		}
 
		public function get maskAlpha():uint
		{
			return _maskAlpha;
		}
 
		public function set maskAlpha(value:uint):void
		{
			_maskAlpha = value;
		}
 
 
	}
}
Any idea ?
gobgob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 11h26   #2
Membre éclairé
 
Inscription : janvier 2004
Messages : 319
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2004
Messages : 319
Points : 384
Points : 384
as-tu essayé de jouer avec l'alpha d'un degradé? je crois que c'est avec graphics.fillGradient...
Kantizbak est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h28.


 
 
 
 
Partenaires

Hébergement Web