改变背景后为什么Android Activity会移动按钮?

时间:2012-11-29 17:59:13

标签: java android

我有一个带有以下图像按钮的活动:

<ImageButton android:id="@+id/nextPage"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"       
    android:contentDescription="@string/nextPageString"
    android:alignParentRight="True"
    android:alignParentBottom="True"
    android:onClick="NextPage" />

我的按钮出现在屏幕的右下角,正如我所料。

当我点击按钮时,我使用以下代码更改背景:

public void NextPage(View view){
    Resources res = this.getResources();
    Drawable d = res.getDrawable(R.drawable.nextBackgroundImage);
    view.setBackground(d);
}

我第一次按照按钮完全按照我想要的方式显示新背景后,它会将图像按钮移动到屏幕中央。不知道为什么。我希望它留在右下角。

1 个答案:

答案 0 :(得分:1)

正如这里的一些评论所指出的那样,背景图像的大小可能就是为什么你的按钮是“移动”的原因。设置layout_widthlayout_height后,如果视图内容(包括其背景)发生更改,大小将会更改。

对于Alex,

+1,尝试在TEST中设置一个特定的大小,看看会发生什么(例如200dp宽x 80dp高)。