android - 按钮的 setHeight() 和 setWidth()

标签 android

Button 的 setHeight() 和 setWidth() API 在下述某些情况下变得无效official doc , 它说的是 set API

Makes the TextView exactly this many pixels tall. You could do the same thing by specifying this number in the LayoutParams. Note that setting this value overrides any other (minimum / maximum) number of lines or height setting.

但在我的实践中,我发现 set API 在小于某个值时变得无效。换句话说,它似乎在设置的值大于某个默认值时生效。

有人能给我解释一下吗?

最佳答案

每个 View 都有您可以覆盖的 onMeasure 方法。正如您在 Android 源代码中看到的那样,对于 View ,有一个建议的最小值。希望对您有所帮助:)

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(getDefaultSize(getSuggestedMinimumWidth(), widthMeasureSpec),
getDefaultSize(getSuggestedMinimumHeight(), heightMeasureSpec));
 }

在这里您可以看到完整的 View 源代码:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.0.0_r1/android/view/View.java#View.onMeasure%28int%2Cint%29

关于android - 按钮的 setHeight() 和 setWidth(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31424050/

相关文章:

android - savedInstanceState 在第一次应用程序关闭后为空,但在第二次关闭后不为空

java - Android的decodeByteArray在自己的线程上非常慢,但在UI线程上却不是

android - 如何将 .p12 证书添加到 Android 设备?

java - 我的监听器中出现空指针异常

android - 在android中解析11MB的大json

android:如何最小化操作栏溢出菜单的宽度

android - Eclipse 错误 - 我的 Android 项目中的错误没有真正的错误

android - 如何在操作栏选项卡中以编程方式更改选定的选项卡指示器颜色

android - NFC 标签和密码保护和唯一标识符

android - Android中出现 "FimgApiStretch:stretch failed"是什么原因