Ti.Paint でandroid 5.0以降strokeWidthの変更ができない件についての対応


PoiというアプリでTi.Paintをがっつり使用しているのですが、
Android 5.0以降でstrokeWidthを変更すると
なにもかけなくなるという事象が発生しました。

initializeの時点ではかけているので、
setStrokeWidthがおかしいんだろうなと思っていたのですが、
いかんせんモジュール頼みだったのでおっくで後回しにしていましたが、
どうにも治らないので、初めてtitaniumでandroidモジュールをいじってみることに。

**

元のモジュールを素ビルドするだけで1週間かかりました。。
環境構築難しいですね・・・

**

さて結論ですが、 setStrokeWidthが悪さをしていました。
あまり詳しい理由はわからないのですが、
下記のソースをいじってビルドしなおせば治ります。

https://github.com/appcelerator-modules/ti.paint/blob/master/android/src/ti/modules/titanium/paint/UIPaintView.java

ようは widthをfloatに直すだけでOK

引数の型はfloatのはずなのにどうしてこうなったかはわかりませんが、
とりあえずこれで動いたので良しとします。

結局環境構築1週間
バグの原因の特定と修正で30分という。。


Leave a Reply