如何清除按钮的颜色? [英] How to clear color of a button?
本文介绍了如何清除按钮的颜色?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
不仅是如何清晰的彩色默认我的按钮的颜色,而且在什么时刻在我的code办呢?我已经竭尽所能,但没有运气。当我点击一个按钮,我设置一些绿色与透明度。现在,当我点击一个按钮同样的情况,但第一个按钮仍设置为绿色。我需要它恢复到原来的颜色。 我试着用:
button.getBackground()setColorFilter(空)。
下面是我的code:
最后OnClickListener clickListener =新OnClickListener(){
私人按钮buttonClicked;
公共无效的onClick(视图v){
Button按钮=(按钮)V;
button.getBackground()setColorFilter(新LightingColorFilter(0xFFFFFFFF的,0x003333))。
如果(buttonClicked == NULL){
//点击第一个按钮
buttonClicked =按钮;
//只能做的东西,如果按钮都在不同的布局
} 其他{
如果(!button.getParent().equals(buttonClicked.getParent())){
//单击第二个按钮
如果(buttonClicked.getTag()。等于(button.getTag())){
//第二个按钮被点击和相同的标签,但不同的按钮
Toast.makeText(Spojnice.this,正确的,Toast.LENGTH_SHORT).show();
button.getBackground()setColorFilter(新LightingColorFilter(0xFFFFFFFF的,0x66FF33))。
buttonClicked.getBackground()setColorFilter(新LightingColorFilter(0xFFFFFFFF的,0x66FF33))。
buttonClicked.setEnabled(假);
button.setEnabled(假);
buttonClicked = NULL;
} 其他 {
//首先复位LightingColorFilter
Toast.makeText(Spojnice.this,错,Toast.LENGTH_SHORT).show();
buttonClicked = NULL;
}
}其他{
buttonClicked =按钮;
}
}
}
};
解决方案
我只是做它切换滤光片和关闭一个简单的程序。
下面是活动:
按钮buttonClicked = NULL;
@覆盖
公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.main);
}
公共无效clickedButton(视图v){
Button按钮=(按钮)V;
button.getBackground()。setColorFilter(新LightingColorFilter(0xFFFFFFFF的,
0x66FF33));
如果(buttonClicked!= NULL){
buttonClicked.getBackground()setColorFilter(空)。
}
buttonClicked =按钮;
}
和这里是XML
< XML版本=1.0编码=UTF-8&GT?;
< RelativeLayout的的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:方向=垂直
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT
>
<的TextView
机器人:ID =@ + ID /老大
机器人:layout_width =FILL_PARENT
机器人:layout_height =WRAP_CONTENT
机器人:文字=世界您好,MyActivity
/>
<按钮
机器人:ID =@ + ID / buttsky
机器人:layout_below =@ ID /老大
机器人:的onClick =clickedButton
机器人:layout_width =200dp
机器人:layout_height =100dp
机器人:文本=pushMe
/>
<按钮
机器人:ID =@ + ID / buttground
机器人:layout_below =@ ID / buttsky
机器人:的onClick =clickedButton
机器人:layout_width =200dp
机器人:layout_height =100dp
机器人:文本=没有,pushMe
/>
< / RelativeLayout的>
Not only how to clear color to default color of my button, but also in what moment in my code to do it? I've tried everything but no luck. When I click a button I set some green color with opacity. Now when I click next button the same happens but the first button is still set to green. I need it to revert to original color. I tried with:
button.getBackground().setColorFilter(null);
Here's my code:
final OnClickListener clickListener = new OnClickListener() {
private Button buttonClicked;
public void onClick(View v) {
Button button = (Button) v;
button.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0x003333));
if (buttonClicked == null) {
// first button is clicked
buttonClicked = button;
// only do stuff if buttons are in different layouts
} else{
if (!button.getParent ().equals(buttonClicked.getParent())) {
// second button is clicked
if(buttonClicked.getTag().equals(button.getTag()) ){
// second button is clicked and same tag but different button
Toast.makeText(Spojnice.this, "Correct", Toast.LENGTH_SHORT).show();
button.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0x66FF33));
buttonClicked.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0x66FF33));
buttonClicked.setEnabled(false);
button.setEnabled(false);
buttonClicked = null;
} else {
//reset LightingColorFilter first
Toast.makeText(Spojnice.this, "Wrong", Toast.LENGTH_SHORT).show();
buttonClicked = null;
}
}else{
buttonClicked = button;
}
}
}
};
解决方案
I just made a simple program which toggles the light filter on and off.
Here is the Activity:
Button buttonClicked = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void clickedButton(View v) {
Button button = (Button)v;
button.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF,
0x66FF33));
if (buttonClicked != null) {
buttonClicked.getBackground().setColorFilter(null);
}
buttonClicked = button;
}
and here is the XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/boss"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello World, MyActivity"
/>
<Button
android:id="@+id/buttsky"
android:layout_below="@id/boss"
android:onClick="clickedButton"
android:layout_width="200dp"
android:layout_height="100dp"
android:text="pushMe"
/>
<Button
android:id="@+id/buttground"
android:layout_below="@id/buttsky"
android:onClick="clickedButton"
android:layout_width="200dp"
android:layout_height="100dp"
android:text="no, pushMe"
/>
</RelativeLayout>
这篇关于如何清除按钮的颜色?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文