gpt4 book ai didi

android-layout - 根据按钮是否启用切换按钮的外观

转载 作者:行者123 更新时间:2023-11-29 22:09:58 24 4
gpt4 key购买 nike

我正在开发一个向导 UI,只有当表单符合某些条件时,用户才能继续操作。

到目前为止,我已经成功开发了按钮背后的所有逻辑,以及按钮本身的布局,因此只有在用户输入一些信息时我才能启用前进按钮。

<Button
android:id="@+id/btnForward"
style="@style/buttonForward_disabled"
android:enabled="false" />

如您所见,我使用样式属性来描述按钮(从技术上讲是具有背景可绘制对象和文本的按钮)

我的 styles.xml 文件包含以下内容

<style name="buttonFB">
<item name="android:textAppearance">?android:attr/textAppearanceLarge</item>
<item name="android:textColor">#ffffff</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_weight">0.4</item>
<item name="android:layout_marginBottom">25dp</item>
<item name="android:layout_alignParentBottom">true</item>
<item name="android:enabled">true</item>
</style>


<style name="buttonFB_disabled" parent="buttonFB">
<item name="android:textColor">#ffffff</item>
<item name="android:enabled">false</item>
</style>

<style name="buttonForward_disabled" parent="buttonFB_disabled">
<item name="android:background">@drawable/btnfw_disabled</item>
<item name="android:layout_alignParentRight">true</item>
<item name="android:layout_marginRight">14dp</item>
<item name="android:text">@string/Forward</item>
</style>

<style name="buttonBackward_disabled" parent="buttonFB_disabled">
<item name="android:background">@drawable/btnfw_disabled</item>
<item name="android:layout_alignParentLeft">true</item>
<item name="android:layout_marginLeft">14dp</item>
<item name="android:text">@string/Backward</item>
</style>

和按钮在实例化到布局中时正确显示。明显的问题是 Button.setEnabled(true) 只使按钮可点击但根本不改变布局。在上面的示例中,您会看到在这两种情况下,文本都是白色的:预计在我查看所有图形后,它会在不久的将来发生变化。

我了解到我无法在运行时以编程方式更改按钮的样式。我该怎么做才能使按钮根据其启用状态看起来不同?

最佳答案

使用selectors .它们旨在完全按照您的意愿行事。基本上,它们根据选择、聚焦和启用状态定义要应用于您的按钮的不同样式。

关于android-layout - 根据按钮是否启用切换按钮的外观,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9863507/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com