Android drawable 与 mipmap 文件夹存放图片有区别

简介: Android drawable 与 mipmap 文件夹存放图片有区别

一、正常使用

  • 代码
<!-- CheckBox -->
<CheckBox
    android:id="@+id/man"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="男"/>
<!-- CheckBox -->
<CheckBox
    android:id="@+id/woman"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="女"/>
  • 如果需要 设置文字与选择框的距离,加上 android:paddingLeft="5dp" 配置即可。
public class MainActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener {
    @SuppressLint("WrongConstant")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 获得按钮
        CheckBox manBox = (CheckBox) findViewById(R.id.man);
        CheckBox womanBox = (CheckBox) findViewById(R.id.woman);
        // 添加选中监听
        manBox.setOnCheckedChangeListener(this);
        womanBox.setOnCheckedChangeListener(this);
    }
    @Override
    public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
        // 获取内容
        String str = compoundButton.getText().toString();
        // 是否选中
        if (compoundButton.isChecked()) {
            Toast.makeText(this, str, Toast.LENGTH_LONG).show();
        }
    }
}
  • 效果

二、drawable 自定义

<!-- CheckBox -->
<CheckBox
    android:id="@+id/none"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="无"
    android:button="@drawable/check_box"/>
  • drawable 代码
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_enabled="true"
        android:state_checked="false"
        android:drawable="@drawable/box_normal"/>
    <item
        android:state_enabled="true"
        android:state_checked="true"
        android:drawable="@drawable/box_check"/>
</selector>
  • 效果

二、style 自定义

  • 它还是基于 drawable 代码
  • xml 代码
<!-- CheckBox -->
<CheckBox
    android:id="@+id/none"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    style="@style/MyCheckBox"
    android:text="无"/>
  • drawable 代码,需要在 res/values/styles.xml 文件中添加,如果没有 styles.xml 手动创建一下。
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyCheckBox">
        <!-- 导入 drawable 文件中的 check_box -->
        <item name="android:button">@drawable/check_box</item>
    </style>
</resources>
  • 效果与 drawable 一致。
目录
打赏
0
0
0
0
270
分享
相关文章
Android经典面试题之Kotlin中Lambda表达式和匿名函数的区别
Lambda表达式和匿名函数都是Kotlin中强大的特性,帮助开发者编写简洁而高效的代码。理解它们的区别和适用场景,有助于选择最合适的方式来解决问题。希望本文的详细讲解和示例能够帮助你在Kotlin开发中更好地运用这些特性。
51 9
|
8月前
Android.mk(makefile)中几个符号的区别:=、 :=、 ?=、 +=
本文解释了在Android.mk文件中使用的几种赋值符号的区别,包括`=`(基本赋值)、`:=`(覆盖赋值)、`?=`(条件赋值,仅在变量未赋值时操作)、`+=`(追加赋值),并通过实验演示了这些符号的具体行为和效果。
423 1
Android经典面试题之Kotlin的==和===有什么区别?
本文介绍了 Kotlin 中 `==` 和 `===` 操作符的区别:`==` 用于比较值是否相等,而 `===` 用于检查对象身份。对于基本类型,两者行为相似;对于对象引用,`==` 比较值相等性,`===` 检查引用是否指向同一实例。此外,还列举了其他常用比较操作符及其应用场景。
225 93
Android:UI:Drawable:View/ImageView与Drawable
通过本文的介绍,我们详细探讨了Android中Drawable、View和ImageView的使用方法及其相互关系。Drawable作为图像和图形的抽象表示,提供了丰富的子类和自定义能力,使得开发者能够灵活地实现各种UI效果。View和ImageView则通过使用Drawable实现了各种图像和图形的显示需求。希望本文能为您在Android开发中使用Drawable提供有价值的参考和指导。
91 2
Android经典面试题之图片Bitmap怎么做优化
本文介绍了图片相关的内存优化方法,包括分辨率适配、图片压缩与缓存。文中详细讲解了如何根据不同分辨率放置图片资源,避免图片拉伸变形;并通过示例代码展示了使用`BitmapFactory.Options`进行图片压缩的具体步骤。此外,还介绍了Glide等第三方库如何利用LRU算法实现高效图片缓存。
107 20
Android经典面试题之图片Bitmap怎么做优化
Android平台RTMP推送|轻量级RTSP服务|GB28181接入之文字、png图片水印的精进之路
本文探讨了Android平台上推流模块中添加文字与PNG水印的技术演进。自2015年起,为了满足应急指挥及安防领域的需求,逐步发展出三代水印技术:第一代为静态文字与图像水印;第二代实现了动态更新水印内容的能力,例如实时位置与时间信息;至第三代,则优化了数据传输效率,直接使用Bitmap对象传递水印数据至JNI层,减少了内存拷贝次数。这些迭代不仅提升了用户体验和技术效率,也体现了开发者追求极致与不断创新的精神。
Android经典实战之如何获取图片的经纬度以及如何根据经纬度获取对应的地点名称
本文介绍如何在Android中从图片提取地理位置信息并转换为地址。首先利用`ExifInterface`获取图片内的经纬度,然后通过`Geocoder`将经纬度转为地址。注意操作需在子线程进行且考虑多语言支持。
427 4
"探秘Android Drawable魔法:一篇文章教你玩转StateListDrawable与AnimationDrawable!"
【8月更文挑战第18天】Drawable是Android中用于屏幕绘制的图形对象,StateListDrawable与AnimationDrawable是两种实用类型。StateListDrawable可根据控件状态变化显示不同图形,如按钮的点击反馈;AnimationDrawable则用于实现帧动画效果,常用于加载提示或动态图标。两者均可通过XML定义或代码创建,并轻松应用于View的背景中,有效增强应用的交互性和视觉体验。
99 0
你都知道么?Android中21种drawable标签大全(下)
我们在drawable目录下可以创建很多自定义的资源,其中用的最多的应该就是selector和shape。目前在Android中有21种drawable标签,了解和利用这些标签对我们的开发有很大的帮助。这个文章我们对这21种标签做一个介绍,让大家有一个印象。 本文中有些资料取自网上,当时记录在笔记中,但是由于时间久远,忘记出处了。
343 0
你都知道么?Android中21种drawable标签大全(上)
我们在drawable目录下可以创建很多自定义的资源,其中用的最多的应该就是selector和shape。目前在Android中有21种drawable标签,了解和利用这些标签对我们的开发有很大的帮助。这个文章我们对这21种标签做一个介绍,让大家有一个印象。 本文中有些资料取自网上,当时记录在笔记中,但是由于时间久远,忘记出处了。
664 0

热门文章

最新文章