所以我研究了很多,并且有很多关于按钮和颜色的问题和答案。 但在你投票之前看到这个问题更具体,更实际,我找不到答案。
我使用元素 Button 作为我的xml布局。来自 android.widget 的 Button类,它扩展了 TextView 。
此视图可以通过java代码标记为启用或禁用。 .setEnabled(true|false)
。
按钮xml代码
<Button
android:id="@+id/maps_list_save_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/str_save"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
我想要的是什么:
我不想做的事情:
创建一个新元素并包含布局,我避免这样做,因为我想保留所选动画,提升,填充,提升等。再次创建所有内容并不聪明。
我已尝试过:
更改背景 =它松开了内部衬垫,是什么让按钮更大,我想保持材料设计&#34;规则&#34;
更改主题 =我尝试通过编辑器和代码更改主题,但发生了两件事:或者我更改了不是按钮的更多内容,或者我更改了启用和禁用颜色。
即使查找文档,我也没有找到如何正确使用这个元素。
答案 0 :(得分:6)
您需要更改$editStuState = StuAtt::where('studentId' , '=' , $id)->first();
$editStuState -> leave +=1;
$editStuState -> present = $editStuState -> present-1;
$editStuState->save();
return 'this is good';
值,特别是android:colorAccent
。这可以通过将主题应用于Button
。
内部Button
引入了以下更改:
styles.xml
然后在xml文件中声明以下两个按钮,其中第一个按钮处于启用状态,第二个按钮处于禁用状态。
<style name="PurpleTheme" parent="AppTheme">
<item name="android:colorAccent">#8654e2</item>
</style>
注意,按钮已应用:
<Button
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 1"
android:theme="@style/PurpleTheme" />
<Button
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:enabled="false"
android:text="Button 2"
android:theme="@style/PurpleTheme" />
style="@style/Widget.AppCompat.Button.Colored"
然后你会得到以下输出:
答案 1 :(得分:3)
您可以使用下面的选择器来实现此目的
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true">
<shape
android:shape="rectangle">
<solid android:color="Your Color"></solid>
<corners android:radius="5dp"></corners>
<padding android:bottom="2dp" android:left="2dp"
android:right="2dp" android:top="2dp"></padding>
</shape>
</item>
<item android:state_enabled="false" android:drawable="@color/colorAccent"/>
</selector>