【发布时间】:2014-04-17 10:48:22
【问题描述】:
我需要在 Android Activity 中以编程方式更改按钮背景图像。
场景概览:
用户单击第一个活动中的按钮,并将用户带到另一个第二个活动; 在他返回第一个活动后,初始按钮图像应该根据他在第二个活动上的操作而改变。
他再次单击按钮并移动到第三个活动,并执行一些操作并返回到第一个活动并出现初始按钮。
设置按钮图像的传统方式是这样的:
<Button
android:id="@+id/button1"
style="@style/ButtonText"
android:background="@drawable/dynamics"
android:text="default"
android:textColor="@color/text_color" />
还有一些额外的动态文本显示在按钮中。 例如下面按钮中的日期(左下角)中的日期:
另外,请检查周末是如何变红的。
这几乎类似于 Apple 的日历按钮:
我如何在 Android 中做同样的事情,尤其是按钮中的动态文本(更改日期)?
PS:以上2张图片是同一个按钮,有3个部分。同一个按钮中有 3 个不同的文本区域
【问题讨论】:
-
button.setText(text);?
-
@ElDuderino 它比那更复杂。与普通 Button 不同,此按钮将包含 3 个不同的文本,每次在我将此按钮绘制到屏幕之前,我都需要参考一些全局数据来获取所有 3 个文本的值。
-
所以你重写了onDraw()?那你可能做错了,你想做的是建立一个复合视图...tiemenschut.com/how-to-create-compound-controls-for-android
标签: android button android-activity