嗨,我正在研究android中的自定义键盘工具 与我们的默认Android设备键盘相同。下面显示了格式 我的键盘。
所以,在这里我将backgorund颜色设置为按钮,但它正在寻找 非常笨拙,如下图所示,
我需要将背景颜色设置为红色,如上面屏幕截图所示,这是按钮的默认颜色。当我设置背景颜色时,它会改变按钮的尺寸。
我用来设置背景颜色的代码是,
int mColor = 0xFFFF0000;
b.setBackgroundColor(mColor);
v.setBackgroundColor(mColor);
所以我哪里出错了。
答案 0 :(得分:2)
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"
按钮,它会通过单击
答案 1 :(得分:1)
您可以使用滤镜来实现两个按钮的红色着色:
int mColor = 0xFFFF0000;
b.getBackground().setColorFilter(mColor, PorterDuff.Mode.MULTIPLY);
v.getBackground().setColorFilter(mColor, PorterDuff.Mode.MULTIPLY);
使用此导入语句时:
import android.graphics.PorterDuff;
这将保留按钮的默认设计。