Android 如何获得静态视图的大小?
我想获得自定义视图的高度,这样无论使用什么设备,动画都可以覆盖布局的所有大小。问题是,视图需要是静态的,所以当我试图获取它的高度时,它说我不能从静态类调用非静态方法Android 如何获得静态视图的大小?,android,Android,我想获得自定义视图的高度,这样无论使用什么设备,动画都可以覆盖布局的所有大小。问题是,视图需要是静态的,所以当我试图获取它的高度时,它说我不能从静态类调用非静态方法 private static class EjemploView extends View { private Path path = new Path(); private static float Last_X = 0; private static float Last_Y = 0;
private static class EjemploView extends View {
private Path path = new Path();
private static float Last_X = 0;
private static float Last_Y = 0;
public EjemploView (Context context) {
super(context);
new Thread(new Runnable() {
public void run() {
y=30;
while(true){
try {
Thread.sleep(sleeptime);
if(!direction)
{
y=y+StepY_Figura;
}
else
{
y=y-StepY_Figura;
}
if(y<30)
{
direction=false;
paint.setColor(Color.BLACK);
Thread.sleep(350);
}
if(y>260)
{
direction=true;
paint.setColor(Color.WHITE);
Thread.sleep(350);
}
postInvalidate();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
}
@Override
protected void onDraw(Canvas canvas) {
float x = canvas.getWidth() / 4;
float x2=x;
if(Unaprueba==true)
{
canvas.drawColor(Color.BLACK);
}
else
{
canvas.drawColor(Color.WHITE);
}
canvas.drawCircle(x, y, 30, paint);
x =x+x2+4;
canvas.drawCircle(x, y, 30, paint);
x =x+x2+4;
canvas.drawCircle(x, y, 30, paint);
String s =Integer.toString(sleeptime);
canvas.drawText("RITHM: "+s, 10, 20, paint);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
float eventX = event.getX();
float eventY = event.getY();
int Change_coordY=10;
int Change_Delay=5;
int Minimum_Delay=5;
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
//path.moveTo(eventX, eventY);
Last_X=eventX;
Last_Y=eventY;
return true;
case MotionEvent.ACTION_MOVE:
break;
case MotionEvent.ACTION_UP:
if(eventY>Last_Y+Cambio_coordY)
{
sleeptime=sleeptime-Change_Delay;
if(sleeptime<=Minimum_Delay)
{
sleeptime=Minimum_Delay;
}
}
else if(eventY<Last_Y-Change_coordY)
{
sleeptime=sleeptime+Change_Delay;
}
break;
default:
return false;
}
invalidate();
return true;
}
}
你知道如果视图是静态的,我有没有办法得到布局的大小?提前感谢。为什么视图需要是静态的?尝试使用viewTreeObserver,您可以获得高度