【问题标题】:Button background color按钮背景颜色
【发布时间】:2013-06-24 12:50:32
【问题描述】:

嗨,我正在开发 android 中的自定义键盘工具,它有点 与我们默认的 android 设备键盘相同。下面显示格式 我的键盘。

所以,我在这里将背景颜色设置为按钮,但它正在寻找 很笨拙如下图,

我需要将背景颜色设置为红色,如上图所示,这是按钮的默认颜色。当我设置背景颜色时,它会改变按钮的尺寸。

我用来设置背景颜色的代码是,

int mColor = 0xFFFF0000;
b.setBackgroundColor(mColor);
v.setBackgroundColor(mColor);

那么我哪里错了。

【问题讨论】:

  • @Pratik
  • 正如 boe-dev 建议的那样,只需在可绘制文件夹中创建 1 个 xml 并将其设置为按钮的 onClick 事件。它将解决您的问题。

标签: android button background-color


【解决方案1】:

enter code here您的普通按钮从系统获得了设计。如果您更改颜色,则设计将更改为标准。

您应该为带有形状的按钮创建自己的样式

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <gradient
        android:angle="270"
        android:endColor="#aaaaaa"
        android:startColor="#555555" />

    <stroke
        android:width="1dp"
        android:color="#000000" />

    <corners
        android:bottomLeftRadius="10sp"
        android:bottomRightRadius="10sp"
        android:topLeftRadius="10sp"
        android:topRightRadius="10sp" />

</shape>

在你的drawable中创建一个xml文件并插入上面的代码。

您想何时更改按钮的颜色?如果你想通过点击改变颜色,你应该使用选择器,像这样

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/shapeButtonRed" android:state_focused="true"/>
    <item android:drawable="@drawable/shapeButtonRed" android:state_pressed="true"/>
    <item android:drawable="@drawable/shapeButton"/>

</selector>

现在你必须给你按钮android:backgroud"@drawable/selector",它会通过点击改变颜色

【讨论】:

  • 当我点击最后一行的第三个按钮时,我想改变按钮的颜色。
【解决方案2】:

您可以使用滤色器来实现两个按钮的红色着色:

int mColor = 0xFFFF0000;
b.getBackground().setColorFilter(mColor, PorterDuff.Mode.MULTIPLY);
v.getBackground().setColorFilter(mColor, PorterDuff.Mode.MULTIPLY);

在使用此导入语句时:

import android.graphics.PorterDuff;

这将保留按钮的默认设计。

【讨论】:

    猜你喜欢
    • 2020-08-19
    • 2013-08-06
    • 2021-08-10
    • 2020-11-11
    • 2015-06-04
    • 2019-05-16
    • 2013-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多