gpt4 book ai didi

Android:两次调用 textview.setBackgroundResource 会改变 textview 的大小

转载 作者:太空宇宙 更新时间:2023-11-03 12:58:12 28 4
gpt4 key购买 nike

我有一个九补丁图像,我在 activity.onCreate() 期间为我的 textview 设置了背景。 Textview 的高度和宽度都有 WRAP_CONTENT 布局。它是从代码而非 XML 创建的。

_btnCurrent.setBackgroundResource(R.drawable.button_menu_off);

这很好用。我有另外一张九补丁图,大小一样,唯一不同的是它的颜色。现在,如果我稍后用另一个图像调用 setBackgroundResource,它会增加 textview 的高度,几乎加倍。另一个调用发生在 textview.onClick()

_btnCurrent.setBackgroundResource(R.drawable.button_menu_on);

如果我再次调用它(在 TextView 中再次单击),则没有效果。这很好,我想第一次点击也会发生这种情况。所以:

Activity.onCreate()
{
btnCurrent= new TextView(this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

btnCurrent.setBackgroundResource(R.drawable.button_menu_hs_off);

btnCurrent.setPadding(15, 5, 15, 5);
btnCurrent.setGravity(Gravity.CENTER);

btnCurrent.setText( GetString(id) );
btnCurrent.setOnClickListener(this);

}

onClick()
{
_btnCurrent.setBackgroundResource(R.drawable.button_menu_on);
}


onCreate(); // -> called by Android during startup -> OK
....
onClick(); // called when user clicks on it -> btnCurrent has double height
....
onClick(); // called when user clicks again -> btnCurrent has same double height, no change in size
....
onClick(); // called when user clicks again -> btnCurrent has same double height, no change in size

我尝试设置 _btnHSCurrent.setBackgroundResource(0);在设置新图像之前,但没有帮助。

为什么会这样?

@编辑

我做了:_btnCurrent.setBackgroundResource(R.drawable.button_menu_off);在 Activity.onCreate() 期间。

然后在 textview.onClick() 中,我调用:

_btnCurrent.setBackgroundResource(R.drawable.button_menu_on);

这将使高度加倍。再次点击,再次点击,不再改变大小,只有在第一次点击时才会改变。

enter image description here enter image description here

最佳答案

这看起来像我在填充时遇到的类似问题。调用 setBackgroundResource 后,填充似乎发生了变化,而不是使用我在 styles.xml 中配置的值。效果看起来和size变了一样,其实就是padding。

我的解决方法是在更改背景后在按钮上调用 setPadding,例如:

button.setBackgroundResource(R.drawable.btn_add);
button.setPadding(10, 15, 10, 15);

它不是很好,但它有效。

希望对您有所帮助!

关于Android:两次调用 textview.setBackgroundResource 会改变 textview 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15861713/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com