0
私はLinearLayoutを拡張するカスタムビューを持っています。 ビューは、クリックごとに移動する小さなアイコン付きのプログレスバーのように見えます。 更新方法は次のとおりです。apiでビューを再描画しない無効化25
public void setPointerOffset(int mPointerOffset) {
this.mPointerOffset = mPointerOffset;
updateSlider();
invalidate();
requestLayout();
}
private void updateSlider() {
PercentFrameLayout.LayoutParams params = (PercentFrameLayout.LayoutParams) mPointer.getLayoutParams();
PercentLayoutHelper.PercentLayoutInfo info = params.getPercentLayoutInfo();
if (mPointerOffset < MIN_OFFSET)
mPointerOffset = MIN_OFFSET;
if (mPointerOffset > MAX_OFFSET)
mPointerOffset = MAX_OFFSET;
float percent = mPointerOffset * 0.01f;
info.startMarginPercent = percent;
}
この方法はonClickListenerから解雇されました。 これは17のように低いapiでうまくいっていますが、(25)のためには全く動作しません。