小编VeV*_*VeV的帖子

如何在转换矩阵后得到视图的正确边界

我有一个自定义视图,我使用转换.到目前为止好,功能一样setRotationY(),setScaleX(),setTranslationY()甚至getMatrix()按预期工作,我能够操纵我看来,它显示的罚款.我撞墙的地方是,之后有很多功能表现得很奇怪.例如函数getHitRect()返回完全奇怪的值!这对我的触摸事件没有帮助.

我试图重载该功能,但它仍然远没有工作,尤其是使用旋转或缩放(翻译工作正常).我认为这与矩阵以子坐标表示的事实有关,那么如何在父坐标中得到它呢?

@Override
    public void getHitRect(Rect outRect){

        RectF rect = new RectF(); 
        rect.top = (float) this.getTop(); 
        rect.bottom = (float) this.getBottom(); 
        rect.left = (float) this.getLeft(); 
        rect.right = (float) this.getRight();      

    this.getMatrix().mapRect(rect);
        rect.round(outRect);
    }
Run Code Online (Sandbox Code Playgroud)

我可以直接从某个函数获得更直接的值吗?像新的高度,宽度,顶部或底部.

android

12
推荐指数
1
解决办法
8246
查看次数

具有硬件加速功能的Canvas抗锯齿功能(Android API 11及更高版本)

我有一个简单的位图,我在画布中绘制并使用矩阵旋转.

我遇到的问题是,使用硬件加速时,边缘在旋转时不会消除锯齿(这与硬件加速关闭时完美配合).当然,像"setDrawFilter"这样的东西是无用的,因为在打开硬件加速时它们会被忽略!

canvas.setDrawFilter(new PaintFlagsDrawFilter(1, Paint.ANTI_ALIAS_FLAG));
Run Code Online (Sandbox Code Playgroud)

我错过了什么或只是硬件渲染方法的限制?还有其他选择吗?

android android-3.0-honeycomb

4
推荐指数
1
解决办法
3747
查看次数

标签 统计

android ×2

android-3.0-honeycomb ×1