如何更改我的按钮颜色的颜色

时间:2013-11-21 13:41:45

标签: android

我的女人怀孕的应用程序。 我正试着把孩子踢到柜台前。 单击按钮后,计数器会增加。 但我想要每次点击,按钮改变颜色像网页悬停。 我尝试onclick,但一次更改colo,后来没有改变

此示例onlick代码

 @Override
    public void onClick(View v) {
        if( v == counterbutton) {
            counterbutton.setBackgroundColor(getResources().getColor(R.color.blue_background));
            get_last_counter++;
            SharedPreferences.Editor editor = MotherActivity.preferences.edit();
            editor.putInt(MotherActivity.COUNTER_INCREASE, get_last_counter);
            editor.apply();
            counter.setText(counter_writer(get_last_counter));
        }
    }

按钮xml代码

<Button
                    android:layout_width="250dp"
                    android:layout_height="wrap_content"
                    android:text="@string/kick"
                    android:id="@+id/counterbutton"
                    android:background="@color/app_pink"
                    android:textColor="@color/blue_text_color"
                    android:layout_centerVertical="true"
                    android:layout_alignParentLeft="true" />

抱歉英语不好。 谢谢。

4 个答案:

答案 0 :(得分:2)

我建议调查选择器,here是我找到的一个很好的例子。

答案 1 :(得分:0)

每次点击都会设置相同的颜色。你应该有一个变量和替代品,如:

mClickIndex = 0 
if(mClickIndex % 2 == 0){
counterbutton.setBackgroundColor(getResources().getColor(R.color.blue_background));
} else {
counterbutton.setBackgroundColor(getResources().getColor(OTHER COLOR));
}
mClickIndex++;

答案 2 :(得分:0)

 @Override
    public void onClick(View v) {
        int id = v.getId();
        switch(id) { 
        case R.id.counterbuton:        
                counterbutton.setBackgroundColor(getResources().getColor(R.color.blue_background));
                get_last_counter++;
                SharedPreferences.Editor editor = MotherActivity.preferences.edit();
                editor.putInt(MotherActivity.COUNTER_INCREASE, get_last_counter);
                editor.apply();
                counter.setText(counter_writer(get_last_counter)); 
        break;
            }
        }

答案 3 :(得分:0)

这样可行。

Random rnd = new Random(); 
int color = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));   
counterbutton.setBackgroundColor(color);