我正在寻找一种方法来使用一个搜索栏作为滑动条移动线上下屏幕,以便能够创建动画图形。此时此刻,我已经走到这里了:
我已经创建了一个使用主布局的活动。在这个主布局上是一个搜索栏和一个名为graph的自定义视图。我通过使用
引用了Graph类:<com.mypackagename.Graph
Android:id=”@+id/graph”/>
我已经创建了一个相应的扩展视图的图形类,并在其中我已经绘制了一个红色的水平线使用:
@Override public void onDraw(Canvas canvas){
paint = new Paint();
paint.setARGB(255, 255, 0, 0);
paint.setStrokeWidth(2);
paint.setStyle(Style.STROKE);
canvas.drawLine(0, 200, 200, 200, paint);
}
我的问题是如何让搜索栏更新这一行?
我为搜索栏编写了如下代码:
my_seekerbar.setOnTouchListener(new SeekBar.OnTouchListener()
{
public boolean onTouch(View v, MotionEvent arg1)
{
View parent = (View)v.getParent();
SeekBar seekBar = (SeekBar)v;
int progress = seekBar.getProgress();
}
return false;
}
});
我试图使用进度的值来设置我的直线的y坐标。我长期以来一直在努力解决这个问题。我走错轨道了吗?
在onTouch()
中,您可以修改成员变量,该变量可在onDraw()
中访问。
当搜索栏被移动时,通过调用invalidate()
强制重新绘制视图,这将调用onDraw(),您可以在其中修改行。