我使用多功能按钮这意味着一个按钮在不同情况下,它有不同的反应.examle:当文本按钮为是时接受。 如果没有拒绝。我使用Drawable for Textcolor按钮按钮的功能也改变了Drawable的改变。但问题是输出是不同的。应该是什么颜色,不是。颜色与我选择的颜色不同。似乎像两个drawable合并。请指导我
if (bsc.getText().toString().equals(getResources().getString(R.string.inotpaid))) {
tfr.setText(R.string.select_pay_way);
tsc.setText(R.string.also);
bfr.setText(R.string.app_intro);
bsc.setText(R.string.site_way);
bth.setText(R.string.bank_way);
bth.setBackgroundDrawable(getResources().getDrawable(R.drawable.button_style_trans));
bth.setTextColor(R.drawable.change_text_color);
}
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/blueyellows" android:state_pressed="true"/>
<item android:color="#ffffff"/>
</selector>
<Button
android:id="@+id/bth"
android:layout_width="220dp"
android:layout_height="35dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="11dp"
android:background="@android:color/transparent"
android:text="@string/price_que"
android:textColor="@drawable/change_text_color_black"
android:textSize="15dp"
android:visibility="invisible" />
答案 0 :(得分:0)
您必须使用布尔值来切换按钮。根据价值,它可以改变功能。你可以这样做。
private boolean isButtonPressed = false;
public void onClick(View v) {
if (isButtonPressed) {
isButtonPressed = false;
} else {
isButtonPressed = true;
}
}
现在根据isButtonPressed的值,您可以为按钮提供不同的功能,如:
if(isButtonPressed) {
button.setBackground(Color.BLACK);
} else {
button.setBackground(Color.WHITE);
}
}
我希望这很有帮助。