这令人抓狂.我有以下XML布局:
<FrameLayout androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:background="@drawable/shadow" androID:focusable="true" androID:focusableIntouchMode="true"> <VIEwFlipper androID:ID="@+ID/flipper" androID:layout_wIDth="fill_parent" androID:layout_height="fill_parent"> <EditText androID:ID="@+ID/revIEws" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:enabled="false" androID:background="@null" /> <EditText androID:ID="@+ID/notes" androID:hint="@string/detail_hint" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:enabled="false" androID:maxlines="4"/> </VIEwFlipper></FrameLayout>
和Java:
vIEwFlipper = (VIEwFlipper)findVIEwByID(R.ID.flipper); slIDeleftIn = AnimationUtils.loadAnimation(this, R.anim.slIDe_left_in); slIDeleftOut = AnimationUtils.loadAnimation(this, R.anim.slIDe_left_out); slIDeRightIn = AnimationUtils.loadAnimation(this, R.anim.slIDe_right_in); slIDeRightOut = AnimationUtils.loadAnimation(this, R.anim.slIDe_right_out); gestureDetector = new GestureDetector(new MyGestureDetector()); gestureListener = new VIEw.OntouchListener() { public boolean ontouch(VIEw v, MotionEvent event) { if (gestureDetector.ontouchEvent(event)) { return true; } return false; } };
看起来如果我尝试在EditText区域顶部进行 *** 作,则手势不会注册.但是,如果我在它周围,即EditText的背景,它可以工作.我试过跟随fill_parent / wrap_content高度和宽度,但它似乎没有改变一件事.我已经证实了这种怀疑,我将EditText背景设置为“红色”,并注意到该红色矩形内的任何内容都无法激活.那我该怎么做呢?
解决方法:
您可以覆盖activity的dispatchtouchEvent方法:
@OverrIDepublic boolean dispatchtouchEvent(MotionEvent ev) { if (gestureDetector != null) { gestureDetector.ontouchEvent(ev); } return super.dispatchtouchEvent(ev);}
显然,gestureDetector是您需要声明并初始化您的活动的成员变量.
总结以上是内存溢出为你收集整理的android – EditText没有捕获ViewFlipper flings?全部内容,希望文章能够帮你解决android – EditText没有捕获ViewFlipper flings?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)