我正在努力制作一款具有不同等级的小游戏。对于每个级别,如果你击败它,你将获得一些明星。我应该如何在关卡的底部显示这些星星?
如果等级尚未完成,则不会出现星星,但如果等级已完成,我想添加一个图像(一个有一个星,一个有两个,一个有三个)到我的等级底部#按钮。
感谢您的帮助!
答案 0 :(得分:0)
查看Goran Siric撰写的这篇博客。它有点旧,但它有不同种类的复合按钮的很好的例子,你应该能够根据你的需要进行定制。
答案 1 :(得分:0)
/ *记得首先清除你要替换的drawable的回调以防止内存泄漏... *通过调用:myButton.getCompoundDrawables()获取按钮的Drawables,然后循环调用myOldDrawable.setCallback(null); *例如:* /
for(Drawable myOldDrawable : myButton.getCompoundDrawables())
{
myOldDrawable.setCallback(null);
}
//在不需要drawable的地方使用null
myButton.setCompoundDrawablesWithIntrinsicBounds(null,null,null, myNewDrawable);
答案 2 :(得分:0)
您可以在水平以下绘制所有三颗星,并根据需要将每颗星的可见度从GONE切换为可见,而不是每次都在运行时创建图像。 如果用户有三颗星可以让所有这些星都可见,如果他有两颗星可以让前两个星可见,而第三星则是GONE。 你可以这样做。
ImageView iv;
//initialize iv according to your method or you may initiaze it directly from
//xml.
iv.setVisibility(View.VISIBLE);
//or
iv.setVisibility(View.GONE);