修改之前的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. 计算机中的概念: 视图 VS 镜像

    这两个概念还是不太一样的.下面来说说个人的理解,记录一下. 1. 镜像 镜像可以理解为一份完全一样的拷贝.也就是"深度拷贝",一个复制品. 比如 iso映像文件,ubuntu-12 ...

  2. JS 父页面调子页面(2种情况),子掉父级(1种)(转)

    A :父级调用子级页面 ,非IFRAME情况,类似平级: window.open("子页面.html", "", "width=1024,height ...

  3. 微信公众号网页授权获取用户openid

    最近一个项目是在微信公众号内二次开发,涉及到微信公众号支付,根据文档要求想要支付就必须要获取到用户的openid. 这是微信官方文档https://mp.weixin.qq.com/wiki?t=re ...

  4. 大数据开发实战:Hive优化实战2-大表join小表优化

    4.大表join小表优化 和join相关的优化主要分为mapjoin可以解决的优化(即大表join小表)和mapjoin无法解决的优化(即大表join大表),前者相对容易解决,后者较难,比较麻烦. 首 ...

  5. mono touch登录设计

    需要对MonoTouch.Dialog-1进行引用: using System; using System.Collections.Generic; using System.Linq; using ...

  6. VS2010自带的性能分析工具分析.NET程序的性能

    这篇博文给大家分享的是,如何使用VS自带的性能分析工具来分析我们编写的.NET程序,一边找出程序性能的瓶颈,改善代码的质量.在实际开发中,性能真的很重要,往往决定一个产品的生死~良好的用户体验的基础之 ...

  7. Centos下修改hostname

    之前安装Centos时候,没有怎么注意,将自己的名字设置为hostname,总感觉好别扭,很不习惯,如是就想把hostname改一下,用到hostname命令. 首先用hostname命令查看当前的主 ...

  8. Eclipse CDT 插件列表

    http://www.bestplugins.com/software/eclipse-c-plugin.html

  9. How to Build a Search Page with Elasticsearch and .NET

    Although SQL Server's Full-Text search is good for searching text that is within a database, there a ...

  10. Windows上Boost的编译步骤

    一.FQ下载Boost最新版本 官网:http://www.boost.org/ 假设解压到:D:\Applicaton\DevTools\boost\boost_1_65_1 二.使用VS编译器 c ...