【问题标题】:Placing any buttons in a row with dynamically changing button size将任何按钮连续放置并动态更改按钮大小
【发布时间】:2014-05-04 13:39:57
【问题描述】:

我想创建自定义按钮类以在代码中动态创建按钮。一般要求是动态更改按钮大小的机会,以便总按钮行宽度必须适合屏幕宽度,而不管按钮的数量(1 或 4 或 10 .. 没关系)。 此外,还要求制作方形按钮。 谢谢。

UPD:可能我需要使用其他布局而不是按钮。我的目的是找到一个好的方法来实现一些带有许多方形按钮(元素)的方形字段游戏,例如 tik-tac-toe、数独等。

【问题讨论】:

    标签: android android-custom-view android-button


    【解决方案1】:
    • 您不需要自定义按钮来动态创建它们。您可以像使用其他任何类一样实例化 Android 的 Button 类。
    • 这种样式不需要自定义类。查看this quick guide 了解来自 Android 开发者的按钮。
    • 对于您的情况,最好使用适合您需要的 LinearLayout。像往常一样在您的活动中引用它并动态添加按钮。正如 cosmincalistru 所指出的,确保将新添加的按钮宽度设置为 0dp,重量设置为 1。

    其他资源:

    Adding Buttons programmatically

    Setting the weight of a button programmatically

    More on LinearLayour and weights

    【讨论】:

      【解决方案2】:

      要让一行上的所有元素具有相同的宽度,您应该尝试weight 属性:

      android:layout_width="0dp"
      android:weight="1"
      

      这应该使您的所有元素大小相同。
      对于方形部分,您可以找到解决方案here

      【讨论】:

      • 我无法以编程方式为按钮添加权重。可能是因为按钮作为相对布局剥夺了这种功能。可能是我被什么东西蒙蔽了。谢谢你的想法。
      猜你喜欢
      • 1970-01-01
      • 2019-05-03
      • 2018-01-18
      • 2018-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-25
      相关资源
      最近更新 更多