Android 切换按钮';其外观取决于它是否';是否启用
我正在开发一个向导UI,只有当表单符合某些条件时,用户才能在其中继续操作 到目前为止,我已经成功地开发了按钮背后的所有逻辑以及按钮本身的布局,因此我只能在用户插入一些信息时启用前进按钮Android 切换按钮';其外观取决于它是否';是否启用,android,android-layout,android-ui,Android,Android Layout,Android Ui,我正在开发一个向导UI,只有当表单符合某些条件时,用户才能在其中继续操作 到目前为止,我已经成功地开发了按钮背后的所有逻辑以及按钮本身的布局,因此我只能在用户插入一些信息时启用前进按钮 <Button android:id="@+id/btnForward" style="@style/buttonForward_disabled" android:enabled="false" /> 和按钮在实例化到布局中时正确显示。明显的问题是按钮。setEnabled
<Button
android:id="@+id/btnForward"
style="@style/buttonForward_disabled"
android:enabled="false" />
和按钮在实例化到布局中时正确显示。明显的问题是按钮。setEnabled(true)
仅使按钮可单击,但根本不会更改布局。在上面的示例中,您可以看到,在这两种情况下,文本都是白色的:在不久的将来,只要我查看所有的图形,文本就会发生变化
我已经读到,我无法在运行时以编程方式更改按钮的样式。如何根据按钮的启用状态使其看起来不同?使用。他们的本意就是做你想做的事。基本上,它们根据选择、聚焦和启用状态定义应用于按钮的不同样式。在您链接的示例中,我看到颜色也有选择。我的Eclipse没有向我显示android:color属性:它与我的项目中的最小SDK为7有关吗?对不起,我不知道答案。我一直使用API级别>=8。别担心,我会深入研究这个问题
<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>