rangeL.setX(rawX-width/20) がビューを動的に移動するため、onTouchListener が機能していることはわかっていますが、コードに示すようにリスナー内で paramsRange.width を使用して幅を設定しようとしても何も得られません。ただし、 paramsRange.width への最初の呼び出しは機能します。何か案は?
final LayoutParams paramsRange = rangeView.getLayoutParams();
paramsRange.height = height;
paramsRange.width = rangeWidth;
rangeView.setX(width/10);
rangeL.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int rawX;
final int actionIndex = event.getAction() >> MotionEvent.ACTION_MOVE;
final int location[] = { 0, 0 };
v.getLocationOnScreen(location);
rawX = (int) event.getX(actionIndex) + location[0];
rangeL.setX(rawX-width/20);
rangeView.setX(width/10+(rawX-width/20));
paramsRange.width = rangeWidth-(rawX-width/20);
return false;
}