Canvas标签
说明
Canvas画布组件,可以自己画出很多想要的效果
适合 EC 6.8.0+
使用示例
<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:android="http://schemas.android.com/apk/res/android" xsi:noNamespaceSchemaLocation="layout.xsd"
        android:layout_height="match_parent" android:layout_width="match_parent"
                  android:background="#336699"
                  android:orientation="vertical" android:padding="20dp">
            <Canvas  android:tag="ca" android:cornerRadius="24dp"
                    android:background="#88000000" android:textColor="#ffffff" android:layout_width="match_parent"/>
    </LinearLayout>
UI中的用法(ui.js)
//绘制区间
var minX = -5;
var maxX = 5;
var minY = -10;
//画笔
var paint = new android.graphics.Paint();
//要绘制的函数,这里是一个一元二次函数
var f = function (x) {
    return x * x + 3 * x - 4;
}
function main() {
    ui.layout("ddd", "f.xml")
    logd(ui.ca);
    ui.ca.onDraw(function (canvas) {
        logd("==> " + canvas);
        var w = canvas.getWidth();
        var h = canvas.getHeight();
        //计算y轴区间上限
        var maxY = minY + (maxX - minX) * h / w;
        //设置画笔颜色为黑色
        paint.setColor(android.graphics.Color.parseColor("#000000"));
        //绘制两个坐标轴
        canvas.drawLine(w / 2, 0, w / 2, h, paint);
        canvas.drawLine(0, h / 2, w, h / 2, paint);
        //设置画笔颜色为红色
        paint.setColor(android.graphics.Color.parseColor("#ff0000"));
        //绘制图像
        for (var i = 0; i < w; i++) {
            var x = minX + i / w * (maxX - minX);
            var y = f(x);
            var j = h - (y - minY) / (maxY - minY) * h;
            canvas.drawPoint(i, j, paint);
        }
    })
}
main();
属性说明
公有属性
请参考 公有属性
私有属性
| 属性名 | 说明 | 可选值 | 
|---|---|---|
| layout_weight | 子元素权重 | 数字 当父级为LinearLayout的时候,子控件可以设置权重 | 
| fillViewport | 填充所有视图 | true: 是 false:否 |