AS 自动生成选择器 SelectorChapek

简介

https://github.com/inmite/android-selector-chapek 

设计师给我们提供好了各种资源,每个按钮都要写一个selector是不是很麻烦?

这么这个插件就为解决这个问题而生,你需要做的就是按照规范命名就好了,其他一键搞定。

问题: 1、并非只能放在drawable-xhdpi目录下,放在任何drawable目录下均可 2、同样右键在任何drawable目录上均有效 3、不能识别mipmap目录下的文件,同样右键在任何mipmap目录上均无效 4、如果要生成的文件已经存在,则生成失败,而不会覆盖,这个一定要注意!

测试

测试一

原有的文件:ic_launcher_normal.png和ic_launcher_pressed.png

生成的文件:ic_launcher.xml

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

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

    <item android:drawable="@drawable/ic_launcher_normal" android:state_pressed="false"/>

    <item android:drawable="@drawable/ic_launcher_pressed" android:state_pressed="true"/>

</selector>

测试二

原有的文件:ic_launcher_normal.png和ic_launcher_pressed.png和ic_launcher_selected.png

生成的文件:ic_launcher.xml(注意,需手动把之前生成的文件删除才会重新生成)

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

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

<item android:drawable="@drawable/ic_launcher_normal" android:state_pressed="false" android:state_selected="false"/>

<item android:drawable="@drawable/ic_launcher_pressed" android:state_pressed="true" android:state_selected="false"/>

<item android:drawable="@drawable/ic_launcher_selected" android:state_pressed="false" android:state_selected="true"/>

</selector>

官方文档

SelectorChapek for Android

This Android Studio plugin automatically generates自动生成 drawable selectors from appropriately适当的 named Android resources.

How to install it:

  • in Android Studio: go to Preferences→Plugins→Browse repositories and search for SelectorChapek or
  • download it and install via Preferences→Plugins→Install plugin from disk

How to use it:

1) Right-click folder文件夹右键 with your resources e.g ‘drawable-xhdpi‘ 2) Select ‘Generate Android Selectors‘ 3) All selectors automagically appear in the ‘drawable‘ folder!

Naming convention命名规则:

In order of plugin to work, resources need to be appropriately named. The plugin supports png or nine-patch files with certain suffices后缀 anywhere in the file name. You can also combine整合 any suffixes together.

Mapping

File name suffix Drawable state
_normal (default state)
_pressed state_pressed
_focused state_focused
_disabled state_enabled (false)
_checked state_checked
_selected state_selected
_hovered state_hovered
_checkable state_checkable
_activated state_activated
_windowfocused state_window_focused

Wishlist

  • UI which will tell you which selectors will be generated
  • possibility to change naming mapping
Pull requests are welcomed!

Why ‘Chapek‘?

Karel ?apek was a famous Czech捷克 writer, inventor发明者 of the word ‘robot‘机器人. The word comes from Czech word ‘robota‘, which means ‘hard manual labor处理繁重的劳动‘. As with ?apek‘s robots, this plugin will remove your unnecessary manual labor. See our other Czech personalities who help with #AndroidDev.

来自为知笔记(Wiz)

时间: 2024-10-24 11:46:52

AS 自动生成选择器 SelectorChapek的相关文章

使用MyBatis Generator自动生成实体、mapper和dao层

通过MyBatis Generator可以自动生成实体.mapper和dao层,记录一下怎么用的. 主要步骤: 关于mybatis从数据库反向生成实体.DAO.mapper: 参考文章:http://www.cnblogs.com/wangkeai/p/6934683.html第一种方式:main方法运行(推荐) 1.在pom.xml中加入插件依赖: 2.写mbgConfiguration.xml文件,jdbc.properties文件 3.写/SSM/src/main/java/main/Ge

kvm一键shell自动生成 windows 虚拟机,无人值守操作方案(step1)

kvm一键shell自动生成 windows 虚拟机,无人值守操作方案分为四个步骤来联合完成: 第一步:开机启动脚本编写,使机器在一启动的时候能够执行该脚本,完成所有需要完成的基本操作(诸如设置密码,绑定Ip,加域,激活),这一步在单独一台机器上反复测试反复编写: 第二步:制定自动应答文件,使其能够无人自动安装,不需要人为干预:也就是消除机器第一次启动时候,需要人工选择<安装语言>,<接受许可协议>等等这些步骤: 第三步:完成以上几步,剩下就需要linux 通过virt-copy-

JavaWeb项目中WEB-INF目录下class文件自动生成以及显示

问题一:WEB-INF目录下的class字节文件是自动生成的,还是需要手动创建相关目录,然后再将字节件复制进去? 可以让eclipse自动生成 source folder:存放.java源文件的根目录 output folder:.class编译输出的根目录纯"java project"中,一般把"src"设置为source folder,把bin设置为output folder "web project"中,一般把"src"

ANTLR和StringTemplate实例:自动生成单元测试类

ANTLR和StringTemplate实例:自动生成单元测试类 1. ANTLR语法 要想自动生成单元测试,首先第一步就是分析被测试类.这里以Java代码为例,用ANTLR对Java代码进行分析.要想靠自己完全手写出一门语言的ANTLR语法文件的复杂程度难以想象,很贴心的是在ANTLR的GitHub网站上列出了很多常见语言的语法文件,例如Java,Sqlite和MySQL的SQL语法等. 有了.g4语法文件,按照Antlr v4入门教程和实例中的步骤,就能自动生成出解析器的代码,这里就不再详述

Android gen根目录下自动生成的R文件指向问题

今天才弄明白,原来在调用vitamio包的时候使用它们的R文件,然后在迁入广告的时候出现了问题,但是瞎胡搞半天后把问题解决了,可没有明白这是什么原因. 今天更新应用又出现了相同的情况,无意中打开了gen的根目录妈蛋!发现里面的报名根本就不是我现在应用的包名.而是调用的那个工程的包名!这下终于找到根本原因了,但是怎么解决呢???----------->修改包名呗~~~~~~~可是你改了它又会自动生成了原来的那个,--------------后来终于发现原来这个R文件的包名适合manifest文件中

软件工程关于自动生成四则运算题目程序的见解

1.需求分析 一个程序员在编写程序前第一件事就是要知道我要编写的程序是要干什么的,它要那些功能. 题目中要求一个能自动生成小学四则运算题目的程序,分析起来很简单,做起来也很简单. 2.实施 由于是小学四则运算题目 我们设定数字的大小不超过100,运算符号为+ - * /,而这一切要随机生成,不难想到要用到随机函数.首先使用SRAND函数设定随机数种子srand((unsigned)time(NULL)) ,再使用RAND函数控制随机生成我们想要的0-100的数字,至于如何生成加减乘除符号,我们可

CCS 6新建文件自动生成注释

对于CCS6,可以通过配置,达到新建源文件或者头文件时,自动生成适当的注释: 一.新建源文件自动生成配置. 在某个文件夹下右击选择 New - Source File. 点击 Configure,再选择对应的语言,然后点击Edit. 此时就出现了一个可编辑的模版.适当的配置模版,保存.可以参考下列程序: 1 /**************************************************************** 2 @版权 : 个人开发,禁止用于商业用途 3 @文件名

使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件

Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件. 1.相关文件 1.在G盘新建一个文件夹,命名:generator(或者其他盘其他名字也可以,之所以用这个,是为了copy下面代码后,不用再做修改路径) 2.准备需要的jar包:mybatis-generator-core-1.3.2.jar.MySQL-connector-Java-5.1.34.jar(忽略

Makefile 7——自动生成依赖关系 三颗星

后面会介绍gcc获得源文件依赖的方法,gcc这个功能就是为make而存在的.我们采用gcc的-MM选项结合sed命令.使用sed进行替换的目的是为了在目标名前加上"objs/"前缀.gcc的-E选项,预处理.在生成依赖关系时,其实并不需要gcc编译源文件,只要预处理就可以获得依赖关系了.通过-E选项,可以避免生成依赖关系时gcc发出警告,以及提高依赖关系的生成效率. 现在,已经找到自动生成依赖关系的方法了,那么如何将其整合到我们complicated项目的Makefile中呢?自动生成