Android 如何准确判断视图(视图组)的大小
我想自定义具有左框架布局的视图组。 框架布局可以根据大小进行修改。 这是我的密码Android 如何准确判断视图(视图组)的大小,android,android-custom-view,Android,Android Custom View,我想自定义具有左框架布局的视图组。 框架布局可以根据大小进行修改。 这是我的密码 @Override public boolean onTouchEvent(MotionEvent ev) { final int action = MotionEventCompat.getActionMasked(ev); final int actionIndex = MotionEventCompat.getActionIndex(ev); boolean wantTouchEve
@Override
public boolean onTouchEvent(MotionEvent ev) {
final int action = MotionEventCompat.getActionMasked(ev);
final int actionIndex = MotionEventCompat.getActionIndex(ev);
boolean wantTouchEvents = true;
switch (action) {
case MotionEvent.ACTION_DOWN: {
Log.i("action_down", "action_down");
final float x = ev.getX();
final float y = ev.getY();
mInitialMotionX = x;
mInitialMotionY = y;
break;
}
case MotionEvent.ACTION_MOVE: {
final float x = ev.getX();
final float y = ev.getY();
for (int i = 0; i < getChildCount(); i++) {
View view = getChildAt(i);
if (isDrawerView(view)) {
LayoutParams params = (LayoutParams) view.getLayoutParams();
params.width = DRAWER_WIDTH + (int) (x - mInitialMotionX);
view.setLayoutParams(params);
}
}
break;
}
@覆盖
公共事件(MotionEvent ev){
final int action=MotionEventCompat.getActionMasked(ev);
最终int actionIndex=MotionEventCompat.getActionIndex(ev);
布尔wantTouchEvents=true;
开关(动作){
case MotionEvent.ACTION\u DOWN:{
Log.i(“动作停止”,“动作停止”);
最终浮点数x=ev.getX();
最终浮动y=ev.getY();
最小运动x=x;
最小运动=y;
打破
}
case MotionEvent.ACTION\u移动:{
最终浮点数x=ev.getX();
最终浮动y=ev.getY();
对于(int i=0;i
在ontouchevent()方法中,当动作\u移动时,我设置了framelayout的宽度。但我无法判断我设置的宽度。因为framelayout的宽度变化不是线性的。
例如,我将framelayout的最大宽度设置为300dp。
当宽度变大时,如果我在x方向快速移动,framelayout的宽度可能是310或330或其他。
我只是想准确判断framelayout的大小。为什么在onTouchEvent中调用setLayoutParams?@pskink我更改framelayout的宽度,所以我调用setLayoutParams()来更改framelayout的宽度