开发者

Actionscript 3 - generating user created UI components

开发者 https://www.devze.com 2023-02-04 13:56 出处:网络
I\'m creating a library of UI elements, and I want the graphics to be custom. At first, I was going to draw everything with code, and take properties such as \"background-base-color\", \"background-gr

I'm creating a library of UI elements, and I want the graphics to be custom. At first, I was going to draw everything with code, and take properties such as "background-base-color", "background-gradient-color", etc. I was concerned that the user would need to modify too many properties and might get confused. I eventually talked myself into using external graphics, such as button_top_left_over.png and etc. Now I'm back and forth. I want people to easily be able to change the skin, so my options are, have them create external graphic libraries, or have t开发者_高级运维hem update properties in a front end that would write to XML, such as background-base-color, background-base-highlight,etc. Anyone have experience with this, and can offer advise?


  1. You may "guess" gradients by a given single color, and it should fit in the most of the cases. Here is an algorithm: ColorUtil.as

  2. Customizing components is a common problem. The user shouldn't need to step that deep into the implementation but we sill want a maximum of flexibility. For that, I have created a CSS framework: Jakute Styling Engine. Using Jakute you may set up your component using states.

Instead of declaring tons of properties for each state:

Button top_left_over: red.png
Button top_left_down: blue.png
Button top_left_disabled_over: grey.png

With Jakute you may specify stateful rules:

Button:over top_left: red.png
Button:down top_left: blue.png
Button:disabled:over top_left: blue.png

In this case the user only needs to know the list of button states and the single property "top_left". The styles can be loaded from an external style sheet or directly set to the component.

Finally, here is an example that shows you how to create a stateful styleable component: States Example. Even if you are not plan to incorporate Jakute, you might get an idea of how others create such components. :-)

0

精彩评论

暂无评论...
验证码 换一张
取 消