android开发,Layout中add入一个view,占据它的全部,怎么触发Layout的点击事件呢??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android开发,Layout中add入一个view,占据它的全部,怎么触发Layout的点击事件呢??相关的知识,希望对你有一定的参考价值。

在一个LinearLayout layout中,
layout.add(view);
然后点击这个layout就失效了,本来是设置了点击监听的,没加view之前还可以的,求指教哦!谢谢!

参考技术A 很可能是layout的监听跟view的监听冲突了,你可以先设置下焦点,然后再添加监听追问

具体怎么做呢?

参考技术B 重写 dispatchTouchEvent() 自己进行任务分发机制追问

什么意思呢?能不能详细说说

参考技术C 重写 dispatchTouchEvent() 试试 参考技术D 你吧点击监听放到view里不就完事了????追问

问题是,view是一个achartEngine画的一个折线图的view,点击事件无效了,原因不明,如果不加载折线图,还是有效的,所以我放弃了这个view,用外层的layout!

追答

估计achartEngine把click事件拦截了吧,achartEngine源码你有吗,有的话看看click事件的处理,然后自己改一下

追问

没啊,不会看啊,怎么看它源码?

追答

我现在手里没有eclipse没法帮你实验,
但理论上你可以给view设置一个onclicklistener··

追问

我知道,也设置过,但是将view画了图后就失效了,哎,恩恩,还是谢谢你了

追答

那应该是achartEngine做手脚了。。

本回答被提问者采纳

Edittext默认无焦点

开发中,发现第一次进入页面时光标就会出现在页面的第一个edittext中,解决思路是:

在edittext的父布局中加入两行代码夺取焦点

  <com.zhy.autolayout.AutoLinearLayout
            android:layout_width="match_parent"
            android:layout_height="50px"
            android:background="@android:color/white"
            android:orientation="horizontal"
            android:gravity="center_vertical"
            android:focusable="true"
            android:focusableInTouchMode="true"
            >
            <EditText
                android:id="@+id/et_phoneNumber"
                style="@style/Edit_text"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:hint="用户搜索"
                android:textColorHint="@color/setPageBackgroudColor"

                android:textColor="@android:color/darker_gray"
                />
            <ImageView

另外hint的文字是在用户开始输入的时候才会消失,不是在获取焦点的时候消失,这个细节居然一直没注意到。

以上是关于android开发,Layout中add入一个view,占据它的全部,怎么触发Layout的点击事件呢??的主要内容,如果未能解决你的问题,请参考以下文章

Android中Fragment怎么addView?

Android入门第8天-几个Layout混用完成常用手机商城首页下部有3个按钮的设置

Android在layout文件中插入另一个layout文件

Android入门第5天-LinerLayout

Android中layout_gravity和gravity的区别

Edittext默认无焦点