【发布时间】:2014-05-10 20:48:03
【问题描述】:
我以编程方式移动了具有多个子视图的布局。子视图全部显示在他们的新位置。但是,单击和触摸事件仍然像视图处于其旧位置一样工作。我该怎么办?
编辑:
我使用translate 和scale 来移动布局。以下是扩展 LinearLayout 的类的代码:
@Override
protected void onDraw(Canvas canvas) {
canvas.translate(getWidth(), 0);
canvas.scale(-1, 1);
super.onDraw(canvas);
}
我在多个活动中使用了这个新布局,但所有活动的问题都是一样的。这是一种更简单的布局:
<?xml version="1.0" encoding="utf-8"?>
<com.example.myapp.NewLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<GridView
android:id="@+id/chapter_gridview"
style="@style/GridStyle" />
</com.example.myapp.NewLayout>
有什么解决办法吗?
更新
一种方法可能是更新 LayoutParams,但我不知道该怎么做。这些是我发现的一些相关问题:
OnClickListener issues after ImageButton moved after TranslateAnimation
How can I dynamically set the position of view in Android?
http://www.clingmarks.com/how-to-permanently-move-view-with-animation-effect-in-android/400
编辑
没有解决方案?那我就放弃了。
【问题讨论】:
-
你用动画来做这个吗?
-
请提供代码和布局
-
请在你的问题标题中使用正确的词语
-
您的问题标题的答案是咨询医生
-
哈哈。很好。很好。我需要帮助,Vamshi 博士。 (其实我知道上面Mehul Joisar的评论是对的。但是,我已经从不同的角度来解决这个问题很长时间了。我之前发布过问题,但他们没有得到任何关注。)跨度>
标签: android view click location