修改之前的xml片段。

            <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/layout_deletesms"
                android:clickable="true"
                android:padding="0dip"
                android:background="@drawable/sms_dialog_button"
                android:layout_width="50dip"
                android:layout_height="match_parent" >
                <ImageView
                    android:id="@+id/deleteSms"
                    android:layout_centerInParent="true"
                    android:src="@drawable/sms_delete"
                    android:scaleType="centerInside"
                    android:focusable="false" // 仅仅这样设置无法实现所需效果。
                    android:background="#00000000"
                    android:layout_width="30dip"
                    android:layout_height="30dip"/>
             </RelativeLayout>
实现效果:点击ImageView时,ImageView的容器对象RelativeLayout,也有被点击的效果出现。

这里,布局被点击时的效果是,切换不同的drawable图片。

在xml布局文件中,无论怎么改都达不到效果。

最后采取在代码中实现。当点击ImageView时,调用布局View的performClick()方法。

            <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/layout_deletesms"
                android:clickable="true"
                android:padding="0dip"
                android:background="@drawable/sms_dialog_button"
                android:layout_width="50dip"
                android:layout_height="match_parent" >
                <ImageView
                    android:id="@+id/deleteSms"
                    android:layout_centerInParent="true"
                    android:src="@drawable/sms_delete"
                    android:scaleType="centerInside"
                    android:background="#00000000"
                    android:layout_width="30dip"
                    android:layout_height="30dip"/>
             </RelativeLayout>

mLayoutDelsms = (RelativeLayout) findViewById(R.id.layout_deletesms);

case R.id.deleteSms:
    mLayoutDelsms.performClick();

调用布局View的performClick()方法的更多相关文章

  1. loadView不需要调用super view,原因:loadView方法的作用就是自定义view.[super loadView]会耗性能.

        https://www.evernote.com/shard/s227/sh/423fd81d-ab1c-4e6c-997d-39359472a4a5/f220ade8bd9be149ad70 ...

  2. [iOS]为什么不要在init初始化方法里调用self.view

    首先.如果你调用self.view的时候,就会调用view的getter方法, 这个时候,view是空的,那么系统就会自动给你创建一个view,然后就会触发ViewDidLoad方法.那么这个时候,如 ...

  3. ASP.NET MVC4在View中调用当前Controller中的方法

    调用当前Controller中的方法 @{ ((HomeController)ViewContext.Controller).Method1(); } 调用静态方法 @{ SomeClass.Meth ...

  4. Android自定义View的实现方法,带你一步步深入了解View(四)

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17357967 不知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了,回 ...

  5. View (五)自定义View的实现方法

    一些接触Android不久的朋友对自定义View都有一丝畏惧感,总感觉这是一个比较高级的技术,但其实自定义View并不复杂,有时候只需要简单几行代码就可以完成了. 如果说要按类型来划分的话,自定义Vi ...

  6. 【转】Android自定义View的实现方法,带你一步步深入了解View(四)

    原文网址: 转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17357967 不知不觉中,带你一步步深入了解View系列的文章已经写到 ...

  7. 对View的onMeasure()方法的进一步研究

    在Android开发中,很多人对自定义View是望而生畏,但这又是向高级进阶的必经之路,主要是对View里面的很多方法不知道怎么理解,其中一个就是onMeasure()方法. 首先,我自定义一个MyV ...

  8. 108.UIView关于布局和约束的方法(AutoLayout)

    http://blog.csdn.net/wangyanchang21/article/details/52270136 关于布局(UIViewHierarchy) 1.layoutSubviews ...

  9. 解析6种常用View 的滑动方法

    View 的滑动是Android 实现自定义控件的基础,实现View 滑动有很多种方法,在这里主要讲解6 种滑动方法,分别是layout().offsetLeftAndRight()与offsetTo ...

随机推荐

  1. C# DevExpress TabPane【转】

    DevExpress TabPane能够快速简单地实现了Tab窗口的功能,相对XtraTabControl来说功能较为简单,也能够更快实现功能. 1.添加TabPane控件 将它拖到form即可. 2 ...

  2. Asp.net WebApi版本控制

    有关web api的版本控制网上有很多,如Web API 版本控制的几种方式 Web API 版本化的介绍 但是具体的code并不多,或者说可以run的demo 不多. 版本控制如果项目一开始还好做关 ...

  3. 组件化 得到 DDComponent JIMU 模块 插件 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. RV ItemDecoration 分割线 简介 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  5. google map放大缩小地图去除 ctrl+,直接用鼠标放大缩小

    如图,最近突然需要ctrl+鼠标滚动,才可以放大缩小地图: 这个问题也困扰了我很久,这个解决办法也是在看到一个帖子才发现的,所以记录一下,如图: map = new google.maps.Map(d ...

  6. cmd怎么删除Oracle数据库中的用户实例

    Oracle数据库使用过程中,针对系统都会建立独立的数据库用户,但有些时候处于测试或别的原因需要删除,原来的DB用户,这时我们可以使用下面的办法. 下属操作的前提是——确保数据库服务及监听均处于启动状 ...

  7. Android -- DiskLruCache

    DiskLruCache 创建一个磁盘缓存对象: public static DiskLruCache open(File directory, int appVersion, int valueCo ...

  8. 【BLE】CC2541之加入自己定义任务

    本篇博文最后改动时间:2017年01月06日,11:06. 一.简单介绍 本文介绍怎样在SimpleBLEPeripheralproject中.加入一个香瓜任务. (香瓜任务与project原有任务相 ...

  9. SQL语句 怎么把从一个表中查出来数据插入到另一个表中

    (1).select * into destTbl from srcTbl(2).insert into destTbl(fld1, fld2) select fld1, 5 from srcTbl

  10. linux 查看网线断开 网卡是否关闭

    linux 查看网线断开 网卡是否关闭 探测是否存在网络接口:  SIOCGIFFLAGS