首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >过渡/动画(onTouchListener)

过渡/动画(onTouchListener)
EN

Stack Overflow用户
提问于 2016-06-30 01:24:43
回答 1查看 598关注 0票数 0

下面是简单转换的代码,从top_left到bottom_right,我不明白为什么要返回false才能使onTouch()正常工作,

1.如果我设置返回true,一次触摸,它将计数器设置为0到3,或者简单地将2或3添加到计数器中,大部分时间保持在当前位置。

2.如果设置返回false,则程序运行良好,并执行编写的操作,即counter++;

代码语言:javascript
复制
public class MainActivity extends AppCompatActivity {
    Button b;
    TextView tv;

    public static int counter_button=0,counter=0;
    RelativeLayout.LayoutParams old_rules;
    RelativeLayout rl;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        b= (Button) findViewById(R.id.b1);
        tv= (TextView) findViewById(R.id.tv1);
        rl= (RelativeLayout) findViewById(R.id.rl);
        old_rules= (RelativeLayout.LayoutParams) b.getLayoutParams();
        rl.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
               my_changes_touch();
                return false;
            }
        });
    }

    public void my_changes_touch(){

        RelativeLayout.LayoutParams rules= new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
        if(counter%2==0) {
            counter++;
            tv.setText(" "+counter);
            rules.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
            rules.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
            b.setLayoutParams(rules);
            rules.height=400;
            rules.width=400;
            b.setLayoutParams(rules);
            getContentTransitionManager().beginDelayedTransition(rl);
        } else {
            counter++;
            tv.setText(" "+counter);
            b.setLayoutParams(old_rules);
            getContentTransitionManager().beginDelayedTransition(rl);
        }    
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-30 05:19:32

返回值确定视图是否使用了事件。

因此,真意味着你对其他事件也感兴趣。

如果您返回false,则触摸事件将传递到视图层次结构中的下一个视图,您将不会收到任何进一步的调用。

请检查这个答案https://stackoverflow.com/a/3756619/2783541

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38112529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档