日韩精品中文字幕一区二区-日韩精品中文字幕一区-日韩精品中文字幕视频-日韩精品在线一区二区三区-第一页在线-第一福利视频

東坡下載:內容最豐富最安全的下載站!

首頁IT技術 → 如何在EditText框內嵌入Button

如何在EditText框內嵌入Button

相關文章發表評論 來源:本站整理時間:2013/1/11 14:48:13字體大小:A-A+

更多

作者:不詳點擊:1513次評論:3次標簽: 在EditText框內嵌入Button

  • 類型:開關定時大小:393KB語言:中文 評分:.0
  • 標簽:
立即下載

如何在EditText框內嵌入Button呢?有很多人希望能在一個EditText中嵌入一個Button,用作搜索、清除等作用,下面是一位網友分享的一個比較簡單的方案。

以下實現的是將Button放在EditText的右部。首先聲明了一個類ButtonEditText繼承自EditText,然后定義了一個Button,以及控制這個Button的高度、寬度的padding。高度的padding是指Button和EditText上下邊框的距離,而寬度的padding是指Button和EditText右邊框的距離

然后根據父類定義構造函數。init()函數是定義來初始化Button的,這里初始化Button比較簡單,只設置了一個Text和ClickListener,如果需要更加復雜的初始化工作,可能需要用到自定義的attribute,詳見這篇文章http://sxote.blog.51cto.com/885634/1112857

為了實現Button的點擊效果,必須要把Touch的事件傳遞給Button,所以必須要重載dispatchTouchEvent()函數,如下:

上面的對event.getY() 和event.getX()的判斷就是為了定位Touch事件發生在Button上,如果發生在Button上,就給它傳遞Touch事件。否則就用EditText的dispatchTouchEvent()函數。如果你需要對Button做一些高級的效果,這里可能還需要判斷Button是否需要ACTION_OUTSIDE/ACTION_CANCEL消息

下面就需要對Button的顯示進行處理了。顯示首先是measure()、layout(),然后是draw(),缺一不可。重載如下:

最后的效果如下圖所示:

附完整源文件:

擴展知識

相關評論

閱讀本文后您有什么感想? 已有 人給出評價!

  • 2791 喜歡喜歡
  • 2101 頂
  • 800 難過難過
  • 1219 囧
  • 4049 圍觀圍觀
  • 5602 無聊無聊
熱門評論
最新評論
第 4 樓 本機地址CZ88.NET 網友 客人 發表于: 2017/5/26 14:44:30
能接收到点击事件,但是看不到按钮

支持( 0 ) 蓋樓(回復)

第 3 樓 本機地址CZ88.NET 網友 客人 發表于: 2017/2/17 14:36:53
再弄个Button的点击事件呗

支持( 0 ) 蓋樓(回復)

第 2 樓 北京開心網 網友 客人 發表于: 2015/1/29 19:54:37
啦啦啦啦啦啦啦啦啦啦啦啦我还是搞不出来

支持( 0 ) 蓋樓(回復)

第 1 樓 四川鐵通 網友 客人 發表于: 2014/10/16 16:40:39
啦啦啦啦啦啦啦啦啦啦啦啦啦

支持( 0 ) 蓋樓(回復)

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數: 0/500 (您的評論需要經過審核才能顯示)

本類常用軟件

主站蜘蛛池模板: 港股开户测试答案2024年| 即便如此我依然爱着我的老婆| 大班安全教案《教室里不乱跑》 | 六扇门电影大全| 都市频道节目表今天| 15j401图集电子版免费| 龙之战电影| 一夜风流| 长谷川清| 板谷由夏| 公共安全教育第一课| free xxx 性欧美| chaoporn| 天云山传奇 电影| 辐射避难所掉脑袋问题答案| 麻豆视频免费在线观看| 2025八方来财微信头像| 美姐妹| 金三角电影| 误杀1演员表| 端午节手抄报一年级| 宇宙刑事卡邦| 发现一个神奇的定胆方法| 小明电影| 冰封侠| 变形金刚1普通话版| 张颜齐| 杨欣悦| cctv16体育节目表今天目表| 陕09j01图集| 大团圆李静张娴| 欧美一级毛片免费看| 我亲爱的简谱| coco电影| 哈林教父| 欢乐的牧童钢琴谱| 关于鲁迅的手抄报图片| 忍石| 电影疯狂之人| 皮囊之下| 禁忌的爱在线|