动态更改Android中按钮的宽度

Sim*_*mon 6 android dynamic button

我的问题很简单,我正在尝试动态更改此按钮的宽度:

按钮>机器人:layout_height = "35dip" 机器人:背景= "@绘制/ buttonlesson" 机器人:文本= "3级[TAP HERE]" 机器人:的onClick = "MenuLI1L3" 机器人:layout_width = "300dp" 机器人:ID =" @ + ID/II3 "> /按钮"

这是我使用的代码:

<Button> 
    android:layout_height="35dip" 
    android:background="@drawable/buttonlesson" 
    android:text="Level 3 [TAP HERE]" 
    android:onClick="MenuLI1L3" 
    android:layout_width="300dp" 
    android:id="@+id/II3"
</Button>
Run Code Online (Sandbox Code Playgroud)

文字确实改变但不是宽度.声音就像有一个bug.右边有另一个按钮,当这个按钮缩小到10像素时,可以填补间隙,所以我也无法改变上面的Linearlayout.

任何解释和解决方案?它不应该工作吗?谢谢

Bon*_*ver 0

建议尝试在父视图上调用 invalidate() (这将导致对所有子视图进行绘图调用 - 包括您的按钮)。这可能不起作用,因为您还需要按钮重新运行其 onMeasure() 逻辑(在绘制之前运行)。

使用使父级调用子级的 onMeasure 的无效方法或任何其他方法。

  • 感谢您的建议!图层或按钮上的 invalidate() 没有做任何事情......但是 myButton.bringToFront(); 不知何故成功了。 (2认同)