为啥 Button 在 Android 中有自己的类?

Posted

技术标签:

【中文标题】为啥 Button 在 Android 中有自己的类?【英文标题】:Why is Button its own class in Android?为什么 Button 在 Android 中有自己的类? 【发布时间】:2013-11-29 14:28:29 【问题描述】:

我是 android 新手,我注意到 Button 类扩展了 TextViewView 而不覆盖任何方法或添加新方法。那么他们为什么创造它呢?我们可以使用View 对象而不进行强制转换,并实现onClickListener

【问题讨论】:

我猜是为了 SDK 的易用性/可读性。每个人都了解 Button 是什么。 “可点击的文本视图”没有相同的环。 这是关于类的设计,而不是作为 Android 设备用户如何按下按钮或在文本框中输入内容,所以我重新打开。 【参考方案1】:

一个Button是一个TextView

它的构造函数将com.android.internal.R.attr.buttonStyle 设置为父TextView (source) 的默认样式。

因此您可以将Button 视为具有覆盖默认样式的TextView。除此之外,没有实际的区别。

【讨论】:

以上是关于为啥 Button 在 Android 中有自己的类?的主要内容,如果未能解决你的问题,请参考以下文章

android button为啥会用阴影

Android 在listview里itme中有imagebutton 怎么监听这个button?

为啥Android的button的字和上下边缘的间距那么大

为啥我的 Button 文本在 Lollipop 上强制全部大写?

为啥java代码中创建的Android Button()必须使用(this)作为上下文?

在android中,在main.xml中有一个ProgressBar进度条组件和一个button按钮,在初始状态让该进度条隐藏怎么