我的女人怀孕的应用程序。 我正试着把孩子踢到柜台前。 单击按钮后,计数器会增加。 但我想要每次点击,按钮改变颜色像网页悬停。 我尝试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" />
抱歉英语不好。 谢谢。
答案 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);