我想在Android上使用两种背景颜色制作按钮样式,如下图所示:
http://i.stack.imgur.com/ExKXl.png
是否可以使用可绘制资源?我正在http://developer.android.com/guide/topics/resources/drawable-resource.html上搜索解决方案,但它们都不能有两种颜色.
有办法吗?
[编辑答案]
解决方案是创建一个<layer-list>带项目,每个项目<item>都有一个<shape>.代码如下(整个按钮的高度为32dp,因此我为每种颜色使用了半高):
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Top color -->
<item android:bottom="16dp">
<shape android:shape="rectangle">
<solid android:color="#FF0000" /> <!-- RED -->
</shape>
</item>
<!-- Bottom color -->
<item android:top="16dp">
<shape android:shape="rectangle">
<solid android:color="#00FF00" /> <!-- GREEN -->
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
但我有另一个问题,我试图在每个形状上设置角落.我试图把android:topLeftRadius与android:topRightRadius第一形状android:bottomLeftRadius和android:bottomRightRadius第二形状,但它didn't告诉我的角落!因此解决方案是使用android:radius(所有8个角落变得圆润,该死!)并且另外两个项目来克服额外的角落.最后,XML就是这样的:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Top color with corner -->
<item android:bottom="16dp">
<shape android:shape="rectangle"> …Run Code Online (Sandbox Code Playgroud) 我用chris lea的版本安装了nodejs:
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs npm
Run Code Online (Sandbox Code Playgroud)
比使用npm安装自耕农,grund-cli和凉亭:
sudo npm install -g yo grunt-cli bower
Run Code Online (Sandbox Code Playgroud)
一切顺利,包括"[Yeoman Doctor]一切看起来都没问题!" 在自耕农的安装结束时.
/home/gabriela/npm/bin/yo -> /home/gabriela/npm/lib/node_modules/yo/cli.js
> yo@1.1.2 postinstall /home/gabriela/npm/lib/node_modules/yo
> node ./scripts/doctor
Run Code Online (Sandbox Code Playgroud)
比我跑:
gabriela@Gabriela-Ubuntu:~$ which node
/usr/bin/node
gabriela@Gabriela-Ubuntu:~$ which npm
/usr/bin/npm
gabriela@Gabriela-Ubuntu:~$ which bower
/usr/bin/bower
gabriela@Gabriela-Ubuntu:~$ which yo
gabriela@Gabriela-Ubuntu:~$ yo
yo: command not found
gabriela@Gabriela-Ubuntu:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME:$JRE_HOME
Run Code Online (Sandbox Code Playgroud)
什么地方出了错?我是否必须执行任何其他命令来正确安装yeoman?