Java 如何以编程方式设置焦点/悬停按钮颜色?
我使用此代码生成一些按钮:Java 如何以编程方式设置焦点/悬停按钮颜色?,java,android,Java,Android,我使用此代码生成一些按钮: public void addButton(int channel, int start, int length, String texte) { RelativeLayout.LayoutParams lprams = newRelativeLayout.LayoutParams( RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutPa
public void addButton(int channel, int start, int length, String texte)
{
RelativeLayout.LayoutParams lprams = newRelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
int top = MARGE_SUPERIEUR + HAUTEUR_LIGNE * channel;
int left = MARGE_GAUCHE + PIXELMINUTE * start;
lprams.setMargins(left,top,0,0);
Button Button = new Button(this.context);
Button.setText(texte);
Button.setMaxHeight(10);
Button.setTextSize(10);
Button.setLayoutParams(lprams);
Button.setWidth(length*PIXELMINUTE);
rLayout.addView(Button);
Button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d("Clicked", "Clicked" + channel + start);
}
});
}
它工作正常,但我想在聚焦/悬停其中一个按钮时更改颜色。
有什么想法吗?您可以利用onFocusChangeListener()来收听onFocus() 要更改按钮颜色,请执行以下操作: btn.setBackgroundColor(颜色:白色);
btn.setTextColor(颜色为黑色) 好的,当它没有聚焦时,要反转吗?@Arnaud是的。如果这解决了您的问题,请将其标记为答案,以便它也可以帮助其他人
btn.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if (hasFocus) {
//Toast line...
}
}
});