禁用Android按钮的setText

禁用Android按钮的setText,android,button,textview,Android,Button,Textview,我扩展了button类,以实现用户无法更改其任何细节或样式的登录按钮。完成后,我发现我无法阻止用户通过编程或xml更改按钮的文本或设计 我想实现一个类似Facebook的登录按钮,通过Facebook预定义登录 我试图重写setText,但没有成功,这是最后一个无法重写的方法 public class SignInButton extends Button{ @Override public void setText(CharSequence chars){ } } 我

我扩展了button类,以实现用户无法更改其任何细节或样式的登录按钮。完成后,我发现我无法阻止用户通过编程或xml更改按钮的文本或设计

我想实现一个类似Facebook的登录按钮,通过Facebook预定义登录

我试图重写setText,但没有成功,这是最后一个无法重写的方法

public class SignInButton extends Button{
    @Override
    public void setText(CharSequence chars){
    }
}

我建议不要延长按钮。使视图扩展
View
,并使用
onDraw
方法绘制视图


这样,视图就不是一个按钮,因此开发人员不能使用
setText()

开发人员将始终能够通过
((按钮)yourCustomButton.)setText()使用
setText()
。不管怎么说,你为什么要阻止它?@Dr.Pelocho这是为一家公司设计的,像Facebook按钮。所以我想阻止任何更改FaceBook有自己的登录按钮,但它们也允许开发人员自定义视图。你应该让开发者选择他们的方式。如果您真的想强迫人们完全使用您的设计,只需重写setter方法,什么也不做。或者,创建自己的类,将所有内容都设置为私有。