Button.getMeasureWidth()返回的值大于实际大小。 /以编程方式制作非常小的按钮

时间:2015-07-08 19:53:48

标签: android button height size measurement

我遇到了这些问题:

  1. 我有一个按钮。我想(编程)使它尽可能小(例如width = 1,height = 1)。我尝试使用setWidth(1)和setHeight(1),但它不起作用。我搜查了一下,发现了一些小按钮。所以我创建了我的按钮:

    Button b1 = new Button(mContext,null,android.R.attr.buttonStyleSmall);
    b1.setMinimumHeight(0);
    
    b1.setMinimumWidth(0);
    
    b1.setWidth(1);
    
    b1.setHeight(1);
    
  2. 按钮变小了,但还不够小。它们似乎仍然具有大于(0,0)的最小尺寸。我可以通过使用params来设置我想要的各种尺寸,但是我不明白为什么它不使用params而不能工作。请给我一个解决方案或者只是解释一下为什么它只能工作这个方式。

    1. 我需要在按钮内制作文字以适应空间。 (我希望文本尽可能大)。我不得不为textView做类似的工作。我找到的解决方案是对字体大小进行二进制搜索(最初设置maxWidth textView.setMaxWidth(maxWidth))然后使用textView.measure(MeasureSpec.Unspecified,MeasureSpec.Unspecified)并使用getHeightMeasurement检查它是否适合maxHeight。此解决方案有效对于TextView,但不是按钮。
    2. 这是因为无论我做什么,button.getHeightMeasurement()都会返回比我想要的更大的值(即使按钮内的文字为""并且字体大小为0,也会发生这种情况) 。所以请帮助我。向我询问代码或澄清。这很烦人。

      谢谢,抱歉我的英语不好。

0 个答案:

没有答案