Class Animatable
Definition
- Assembly:
- Tizen.NUI.dll
The class that represents an object capable of animation is the parent class of the minimum unit of visual, View. When a property is an animatable property, it means that its value can change continuously as the target of an animation. In this case, if a property notification callback is set, you can receive the callback according to the changing values. Additionally, users can also add their own properties.
C#Copypublic class Animatable : BaseHandle, INotifyPropertyChanged, IDisposable
- Inheritance
- Derived
- Implements
-
System.ComponentModel.INotifyPropertyChangedSystem.IDisposable
Examples
CopyView view = new View() { Size2D = new Size2D(100, 100), Position2D = new Position2D(100, 100), BackgroundColor = Color.Red, }; Window.Default.Add(view); Animation animation = new Animation(); const float destinationValue = 300.0f; const int startTime = 0; // animation starts at 0 second point. no delay. const int endTime = 5000; // animation ends at 5 second point. animation.AnimateTo(view, "PositionX", destinationValue, startTime, endTime, new AlphaFunction(AlphaFunction.BuiltinFunctions.EaseInSine)); animation.Play(); PropertyNotification propertyNotification = view.AddPropertyNotification("position", PropertyCondition.Step(10.0f)); propertyNotification.Notified += (object source, PropertyNotification.NotifyEventArgs args) => { Animatable target = args.PropertyNotification.GetTarget(); if (target is View viewTarget) { Tizen.Log.Debug("NUI", $"postion changed! ({viewTarget.CurrentPosition.X},{viewTarget.CurrentPosition.Y})"); } }; Animatable animatable = new Animatable(); int myPropertyIndex = animatable.RegisterProperty("myProperty", new PropertyValue(100), PropertyAccessMode.ReadWrite); animatable.GetProperty(myPropertyIndex).Get(out int aValue); Tizen.Log.Debug("NUI", $"myProperty value : {aValue} (should be 100)"); animatable.SetProperty(myPropertyIndex, new PropertyValue(200)); animatable.GetProperty(myPropertyIndex).Get(out aValue); Tizen.Log.Debug("NUI", $"myProperty value : {aValue} (should be 200)");
Constructors
Declaration
C#Copypublic Animatable()
Methods
AddPropertyNotification(string, PropertyCondition)
Adds a property notification to this object.
Declaration
C#Copypublic PropertyNotification AddPropertyNotification(string property, PropertyCondition condition)
Parameters
Type | Name | Description |
---|---|---|
string | property | The name of the property. |
PropertyCondition | condition | The notification will be triggered when this condition is satisfied. |
Returns
Type | Description |
---|---|
PropertyNotification | A handle to the newly created PropertyNotification. |
Declaration
C#Copypublic PropertyValue GetProperty(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The index of the property. |
Returns
Type | Description |
---|---|
PropertyValue | The property value. |
Declaration
C#Copypublic int GetPropertyIndex(string name)
Parameters
Type | Name | Description |
---|---|---|
string | name | The name of the property. |
Returns
Type | Description |
---|---|
int | The index of the property. |
Declaration
C#Copypublic string GetPropertyName(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The index of the property. |
Returns
Type | Description |
---|---|
string | The name of the property. |
Declaration
C#Copypublic PropertyType GetPropertyType(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The index of the property. |
Returns
Type | Description |
---|---|
PropertyType | The type of the property. |
IsPropertyAnimatable(int)
whether a writable property can be the target of an animation.
Declaration
C#Copypublic bool IsPropertyAnimatable(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The index of the property. |
Returns
Type | Description |
---|---|
bool | True if the property is animatable. |
Declaration
C#Copypublic bool IsPropertyWritable(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The index of the property. |
Returns
Type | Description |
---|---|
bool | True if the property is writable. |
RegisterProperty(string, PropertyValue, PropertyAccessMode)
Registers a new animatable property.
Declaration
C#Copypublic int RegisterProperty(string name, PropertyValue propertyValue, PropertyAccessMode accessMode)
Parameters
Type | Name | Description |
---|---|---|
string | name | The name of the property. |
PropertyValue | propertyValue | The new value of the property. |
PropertyAccessMode | accessMode | The property access mode (writable, animatable etc). |
Returns
Type | Description |
---|---|
int | The type of the property. |
Declaration
C#Copypublic int RegisterProperty(string name, PropertyValue propertyValue)
Parameters
Type | Name | Description |
---|---|---|
string | name | The name of the property. |
PropertyValue | propertyValue | The new value of the property. |
Returns
Type | Description |
---|---|
int | The type of the property. |
RemovePropertyNotification(PropertyNotification)
Removes a property notification from this object.
Declaration
C#Copypublic void RemovePropertyNotification(PropertyNotification propertyNotification)
Parameters
Type | Name | Description |
---|---|---|
PropertyNotification | propertyNotification | The propertyNotification to be removed. |
Declaration
C#Copypublic void RemovePropertyNotifications()
Declaration
C#Copypublic void SetProperty(int index, PropertyValue propertyValue)
Parameters
Type | Name | Description |
---|---|---|
int | index | The index of the property. |
PropertyValue | propertyValue | The new value of the property. |