Java 如何在android中以编程方式移动视图?

Java 如何在android中以编程方式移动视图?,java,android,multithreading,scrollview,slide,Java,Android,Multithreading,Scrollview,Slide,下面是布局(XML)结构 … …(按钮)… 我试图使ScrollView滚动缓慢(像某种滑块),以便它滚动一个px,而不是等待10毫秒,然后滚动另一个px。。。直到它滚动了100像素。 如果我调用scrollBy(100,0)(例如),它只会切换到指定的位置,但中间没有可见的移动 public void move(int x, int y) { Activity context = (Activity)getContext(); context.runOnUiThre

下面是布局(XML)结构







…(按钮)…

我试图使ScrollView滚动缓慢(像某种滑块),以便它滚动一个px,而不是等待10毫秒,然后滚动另一个px。。。直到它滚动了100像素。 如果我调用scrollBy(100,0)(例如),它只会切换到指定的位置,但中间没有可见的移动

public void move(int x, int y)
{
    Activity context = (Activity)getContext();

    context.runOnUiThread(new Runnable() 
    {   
        @Override
        public void run() 
        {
            for(int i=0;i<100;i++)
            {
                scrollBy(-1,0); try{ Thread.sleep(20); } catch(Exception e){}
            }

        }
    });
}
公共无效移动(整数x,整数y)
{
活动上下文=(活动)getContext();
runOnUiThread(新的Runnable()
{   
@凌驾
公开募捐
{

对于(int i=0;i您是否尝试过使用
smoothScrollBy

您可以使用Timer和TimerTask类并将scrollTo方法更新1,直到达到100


上面是一个连续的滑块示例,显示了上述方法的使用。

是的,我尝试过,但效果不好(只是垂直)。我将仔细研究secon的可能性。非常感谢。目前为止,这很好!非常感谢!我不知道如何使用计时器。干得好!很高兴知道它有帮助。请设置答案,以便将问题从未回答列表中删除。