我已经为一些空白输入计算和吐司消息配置了它。我是android开发的初学者。谢谢。
答案 0 :(得分:0)
如果您要这样做,并且已经可以使用按钮进行操作,则意味着您已经在Activity的Java代码中服务onclick侦听器了吗?
因此在您的项目中,您将创建一个全局布尔变量
布尔默认值= true;
在onclick监听器中您会说
JIT_New
我希望这可以帮助您o /
答案 1 :(得分:0)
您需要为按钮创建自定义背景。
在可绘制的文件夹中,创建下一个名为background_button
的文件,并将这行内容放入
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:enterFadeDuration="@integer/fade_animation_duration"
android:exitFadeDuration="@integer/fade_animation_duration">
<item android:state_enabled="false">
<bitmap android:src="@drawable/background_button_disabled"/>
</item>
<item android:state_enabled="true" android:state_pressed="true">
<bitmap android:src="@drawable/background_button_pressed"/>
</item>
<item android:state_enabled="true" android:state_selected="true">
<bitmap android:src="@drawable/background_button_pressed"/>
</item>
<item>
<bitmap android:src="@drawable/background_button_normal"/>
</item>
</selector>
可绘制background_button_normal
是按钮的默认背景
可绘制的background_button_pressed
是按下按钮时的背景
当您在XML或代码background_button_disabled
android:enabled="false
时,可绘制的button.setEnabled(false)
是您的背景
答案 2 :(得分:0)
只需使用标准的MaterialButton
。
<com.google.android.material.button.MaterialButton
android:id="@+id/material_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_label"/>
它与<selector>
一起自动自动用于检查/启用/禁用状态。
您可以选择其他styles,还可以使用app:backgroundTint
属性自定义颜色。
这是backgroudTint中使用的默认选择器。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorPrimary" android:state_enabled="true"/>
<item android:alpha="0.12" android:color="?attr/colorOnSurface"/>
</selector>
答案 3 :(得分:0)
您可以定义一个方法,该方法将在每次单击按钮i-e时以XML:onClick()
方法或Java:yourButton.setOnClickListener()
changeColor()
是我用来更改按钮颜色的方法。
代码如下:
在活动开始时定义此变量:
public static boolean applyColor = false;
Button myBtn = (Button) findViewById(R.id.my_btn_id); //write your button ID in place of my_btn_id's place
然后设置您的onClickListener:
myBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
changeColor();
}
});
现在定义changeColor方法,例如:
private void changeColor() {
if(!applyColor) {
myBtn.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
applyColor = !applyColor;
}
else{
myBtn.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark));
applyColor = !applyColor;
}
}