Android开发CheckBox自定义图片问题

一,CheckBox自定义图片问题

结果点击的时候 会有checked效果,但是,手指离开后没有check住~

 代码如下 复制代码

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_checked="false"
android:drawable="@drawable/checkbox_tishi" />
<item android:state_checked="true"
android:drawable="@drawable/checkbox_tishi_select" />

</selector>

上面的写法,最后当然没好使,于是就搜索了一下,搜来的多了一对标签状态,但还是不能用。但是原生的是可以的,想了想还是看看源码好了。发现源码中的配置多了不少,当然首先就是全部复制过来。然后,适当精简一下。再次发布程序,顿时好使了。结果如下:

 代码如下 复制代码

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_checked="true" android:state_window_focused="false"
android:drawable="@drawable/checkbox_tishi_select" />
<item android:state_checked="false" android:state_window_focused="false"
android:drawable="@drawable/checkbox_tishi" />

<item android:state_checked="true" android:state_pressed="true"
android:drawable="@drawable/checkbox_tishi_select" />
<item android:state_checked="false" android:state_pressed="true"
android:drawable="@drawable/checkbox_tishi" />

<item android:state_checked="true" android:state_focused="true"
android:drawable="@drawable/checkbox_tishi_select" />
<item android:state_checked="false" android:state_focused="true"
android:drawable="@drawable/checkbox_tishi" />

<item android:state_checked="false"
android:drawable="@drawable/checkbox_tishi" />
<item android:state_checked="true"
android:drawable="@drawable/checkbox_tishi_select" />

</selector>

二,CheckBox自定义图片大小问题

1.在drawable中创建文件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_ok" /><!--设置选中图片-->
 <item android:state_checked="false"
   android:drawable="@drawable/checkbox_empty" /><!--设置未选中图片-->
</selector>2.在values中创建styles.xml:

<?xml version="1.0" encoding="utf-8"?>

<resources>

   <style name="MyCheckBox" parent="@android:style/Widget.CompoundButton.CheckBox">

    <item name="android:button">@drawable/checkbox_selector</item>

    <item name="android:paddingLeft">25.0dip</item>

    <item name="android:maxHeight">10.0dip</item>

   </style>

</resources>

3.在你的CheckBox中添加属性:

 代码如下 复制代码

<CheckBox
        android:id="@+id/check"
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:layout_marginLeft="5dp"
        style="@style/MyCheckBox" 
        />

时间: 2024-10-13 21:04:54

Android开发CheckBox自定义图片问题的相关文章

Android开发使用自定义View将圆角矩形绘制在Canvas上的方法

本文实例讲述了Android开发使用自定义View将圆角矩形绘制在Canvas上的方法.分享给大家供大家参考,具体如下: 前几天,公司一个项目中,头像图片需要添加圆角,这样UI效果会更好看,于是写了一个小的demo进行圆角的定义,该处主要是使用BitmapShader进行了渲染(如果要将一张图片裁剪成椭圆或圆形显示在屏幕上,也可以使用BitmapShader来完成). BitmapShader类完成渲染图片的基本步骤如下: 1.创建BitmapShader类的对象 /** * Call this

Android开发使用自定义view实现ListView下拉的视差特效功能

本文实例讲述了Android开发使用自定义view实现ListView下拉的视差特效功能.分享给大家供大家参考,具体如下: 一.概述: 现在流型的APP如微信朋友圈,QQ空间,微博个人展示都有视差特效的影子. 如图:下拉图片会产生图片拉升的效果,放手后图片有弹回到原处: 那我们如何实现呢? 1)重写ListView控件: 2)重写里面的overScrollBy方法 3)在松手后执行值动画 二.具体实现: 1.创建ParallaListView 自定义ListView public class P

Android开发实现自定义新闻加载页面功能实例

本文实例讲述了Android开发实现自定义新闻加载页面功能.分享给大家供大家参考,具体如下: 一.概述: 1.效果演示: 2.说明:在新闻页面刚加载的时候,一般会出现五种状态 未知状态(STATE_UNKNOW).空状态(STATE_EMPTY).加载中(STATE_LOADING).错误(STATE_ERROT).成功(STATE_SUCCESS) 因为每个Detail页面都会出现,所以我们可以把他们封装成一个LoadPage的自定义view,可以复用 二.实现: 1.首先的定义三个布局,为什

Android开发之滑动图片轮播标题焦点_Android

先给大家这是下效果图: 谷歌提供的v4包,ViewPager 在布局文件中,先添加<android.support.v4.view.ViewPager/>控件,这个只是轮播的区域 在布局文件中,布置标题描述部分 线性布局,竖向排列,背景色黑色半透明,这个布局和上面的ViewPager底部对齐layout_alignBottom="@id/xxx" <TextView/>居中显示, 小点部分,先放过空的LinearLayout,id是ll_points在代码中对其

Android开发之自定义View(视图)用法详解_Android

本文实例讲述了Android开发之自定义View(视图)用法.分享给大家供大家参考,具体如下: View类是Android的一个超类,这个类几乎包含了所有的屏幕类型.每一个View都有一个用于绘图的画布,这个画布可以进行任意扩展.在游戏开发中往往需要自定义视图(View),这个画布的功能更能满足我们在游戏开发中的需要.在Android中,任何一个View类都只需重写onDraw 方法来实现界面显示,自定义的视图可以是复杂的3D实现,也可以是非常简单的文本形式等. 为了实现自定义View,需要创建

Android开发中自定义ProgressBar控件的方法示例

本文实例讲述了Android开发中自定义ProgressBar控件的方法.分享给大家供大家参考,具体如下: 很简单,首先加载Drawable,在onMeasure设置好其区域大小, 然后使用canvas.clipRect绘图 public class ProgressView extends ImageView { private Drawable maskDraw; /** * 加载的进度 0-100 */ private int mProcess = 20; public ProgressV

Android开发之滑动图片轮播标题焦点

先给大家这是下效果图: 谷歌提供的v4包,ViewPager 在布局文件中,先添加<android.support.v4.view.ViewPager/>控件,这个只是轮播的区域 在布局文件中,布置标题描述部分 线性布局,竖向排列,背景色黑色半透明,这个布局和上面的ViewPager底部对齐layout_alignBottom="@id/xxx" <TextView/>居中显示, 小点部分,先放过空的LinearLayout,id是ll_points在代码中对其

Android开发之自定义View(视图)用法详解

本文实例讲述了Android开发之自定义View(视图)用法.分享给大家供大家参考,具体如下: View类是Android的一个超类,这个类几乎包含了所有的屏幕类型.每一个View都有一个用于绘图的画布,这个画布可以进行任意扩展.在游戏开发中往往需要自定义视图(View),这个画布的功能更能满足我们在游戏开发中的需要.在Android中,任何一个View类都只需重写onDraw 方法来实现界面显示,自定义的视图可以是复杂的3D实现,也可以是非常简单的文本形式等. 为了实现自定义View,需要创建

Android开发之超强图片工具类BitmapUtil完整实例

本文实例讲述了Android开发之超强图片工具类BitmapUtil.分享给大家供大家参考,具体如下: 说明:为了方便大家使用,本人把大家常用的图片处理代码集中到这个类里 使用了LruCache与SoftReference /** * 图片加载及转化工具 ----------------------------------------------------------------------- 延伸:一个Bitmap到底占用多大内存?系统给每个应用程序分配多大内存? Bitmap占用的内存为: