zoukankan      html  css  js  c++  java
  • Android开发点点滴滴——一些基础的但实用的知识(2)

    1.onItemLongClick和onItemClick事件截取

    当须要同一时候获得一个listview的条目长按事件(onItemLongClick)和点击事件(onItemClick)时,仅仅须要在onItemLongClick事件触发函数中,return true就可以。


    2.自己定义CheckBox样式

    在布局文件里,添加一个属性 android:button,话不多说,直接上代码

      <CheckBox
                            android:id="@+id/xxx"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginRight="5dp"
                            android:button="@drawable/checkbox_selector"
                            android:text="xxx" 
                           />
    
    checkbox_selector.xml

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
        <item android:state_checked="true"
            
            android:drawable="@drawable/checkbox_selected_selector"/>
        <item android:state_checked="false"
            android:drawable="@drawable/checkbox_blank_selector"/>
    
    </selector>
    checkbox_selected_selector.xml

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
        <item android:state_pressed="true"
            
            android:drawable="@drawable/checkbox_ya"/>
        <item android:state_pressed="false"
            android:drawable="@drawable/checkbox_yz"/>
    
    </selector>
    checkbox_blank_selector.xml

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
        <item android:state_pressed="true"
            
            android:drawable="@drawable/checkbox_wa"/>
        <item android:state_pressed="false"
            android:drawable="@drawable/checkbox_wz"/>
    
    </selector>


    3.ListView的Item中有button或checkBox时焦点问题

    当自己定义ListView时,每一个Item上除了文字以为还有Button组件或其它也能够点击的组件时(一般就是button和checkbox),当点击这个item时可能没有反应,这是由于焦点被button组件获得了,那么点击item时,事实上是相当于点击了button组件。

    解决方法:在item的根布局中增加 

    android:descendantFocusability="blocksDescendants"


    还有方法就是在button组件中增加

    android:focusable="false"




  • 相关阅读:
    faster rcnn学习(三)
    too many values to unpack (expected 2)
    RuntimeWarning: overflow encountered in ubyte_scalars
    C#中excel读取和写入
    C#中使用Sql对Excel条件查询
    IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法IIS上部署MVC网站,打开后500错误
    C#微信公众平台账号开发,从零到整,步骤详细。
    VS快捷键大全
    ASP.NET将文件写到另一服务器
    开放api接口签名验证
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/3760864.html
Copyright © 2011-2022 走看看