小编Gab*_*lai的帖子

Android:带有两种背景颜色的按钮

我想在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:topLeftRadiusandroid:topRightRadius第一形状android:bottomLeftRadiusandroid: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)

android background colors button rounded-corners

5
推荐指数
1
解决办法
1万
查看次数

哟:找不到命令

我用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?

ubuntu npm yeoman

5
推荐指数
2
解决办法
6132
查看次数

标签 统计

android ×1

background ×1

button ×1

colors ×1

npm ×1

rounded-corners ×1

ubuntu ×1

yeoman ×1