android – Trace:requestLayout()不當呼叫?
任何人都可以告訴我如何修復以下痕跡:
W/View(16810): requestLayout() improperly called by theme.effects.TopCenterImageView{41dc73f0 V.ED.... ........ 0,0-480,690 #7f060066 app:id/normal_image} during second layout pass: posting in next frame
以下是TopCenterImageView的程式碼:
public class TopCenterImageView extends ImageView { public TopCenterImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); setScaleType(ScaleType.MATRIX); } public TopCenterImageView(Context context, AttributeSet attrs) { super(context, attrs); setScaleType(ScaleType.MATRIX); } public TopCenterImageView(Context context) { super(context); setScaleType(ScaleType.MATRIX); } @Override protected boolean setFrame(int l, int t, int r, int b) { if (getDrawable() == null) { return super.setFrame(l, t, r, b); } Matrix matrix = getImageMatrix(); float scaleFactor = getWidth() / (float) getDrawable().getIntrinsicWidth(); matrix.setScale(scaleFactor, scaleFactor, 0, 0); setImageMatrix(matrix); return super.setFrame(l, t, r, b); } }
你會發現一些很好的研究this 執行緒(不是roboguice部分).
程式碼日誌版權宣告:
翻譯自:http://stackoverflow.com/questions/20717022/trace-requestlayout-improperly-called