ANDROID:如何将图像放在按钮的底部三分之一处

时间:2015-03-02 03:25:18

标签: java android image button

我正在努力制作一款具有不同等级的小游戏。对于每个级别,如果你击败它,你将获得一些明星。我应该如何在关卡的底部显示这些星星?

如果等级尚未完成,则不会出现星星,但如果等级已完成,我想添加一个图像(一个有一个星,一个有两个,一个有三个)到我的等级底部#按钮。

感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

查看Goran Siric撰写的这篇博客。它有点旧,但它有不同种类的复合按钮的很好的例子,你应该能够根据你的需要进行定制。

http://izvornikod.com/Blog/tabid/82/EntryId/8/Creating-Android-button-with-image-and-text-using-relative-layout.aspx

答案 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);