1

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

<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);
}

在我第一次单击该按钮后,它会完全按照我的意愿显示我的新背景,但是,它将图像按钮移动到屏幕的中心。不知道为什么。我希望它留在右下角。

4

1 回答 1

1

正如这里的一些评论所指出的,您的背景图像的大小可能是您按钮“移动”的原因。layout_width设置为 wrap 后,如果视图的内容(包括其layout_height背景)发生变化,尺寸也会发生变化。

为亚历克斯+1,尝试在那里设置一个特定的大小来测试,看看会发生什么(例如,200dp 宽度 x 80dp 高度)。

于 2012-11-29T18:42:46.610 回答