我正在尝试制作一个类似于该模型中的应用程序:
这是一个非常简单的超市应用程序。如您所见,屏幕底部有一个TextView,它告诉我我的购物车是空的还是里面有物品。如果购物车不为空,则向用户显示他/她必须支付的总价。您还可以注意到,TextView
的样式和文本根据变量(在本例中为“ totalPrice”)而变化。
如何在Android中执行此操作?我知道我可以使用简单的if语句(例如if totalPrice == 0
,然后backgroundColor = grey
和text = "EmptyCart"
),但这似乎有点...硬编码。有更好的方法吗?如您所见,TextView's
样式和值在“子产品”活动中也会发生变化(某些产品具有子产品,您可以在单击它们后看到它们)。
谢谢!
答案 0 :(得分:1)
要设置文本视图的文本,请使用memmove()
来设置其背景,其textView.setText("new text");
的颜色是您要作为整数的十六进制代码,例如reg的0xFFFF0000。显然,这些既可以是变量也可以是硬编码。
答案 1 :(得分:1)
我认为数据绑定是最好的方法,而不是样板代码。 在数据绑定中使用三元操作创建模型类并更改视图背景,还可以使用此操作管理价格文本的可见性。
答案 2 :(得分:0)
可以简单地通过在TextView
中使用两个RelativeLayout
来实现,当然也可以使用基本的TextView
方法。作为示例布局:
<RelativeLayout
android:layout_height="75dp"
android:layout_width="match_parent"
android:background="#1EC4F3">
<TextView
android:text="PAY"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:typeface="sans"
android:textColor="#FFFFFF"
android:textSize="18sp"/>
<TextView
android:layout_height="wrap_content"
android:text="$25.79"
android:layout_width="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="8dp"
android:typeface="monospace"
android:textSize="14sp"
android:textColor="#FFFFFF"/>
</RelativeLayout>