【发布时间】:2012-02-29 05:03:53
【问题描述】:
我想完全以编程方式更改 Android 小部件按钮(特别是角)的样式。意思是,我想完全没有任何 xml 文件。根据我的研究,我得出的结论是这是不可能的。我的结论是正确的还是有人知道怎么做?
【问题讨论】:
标签: java android android-widget android-button
我想完全以编程方式更改 Android 小部件按钮(特别是角)的样式。意思是,我想完全没有任何 xml 文件。根据我的研究,我得出的结论是这是不可能的。我的结论是正确的还是有人知道怎么做?
【问题讨论】:
标签: java android android-widget android-button
你应该看看从TextView和Button的View继承的方法:
setPadding(int left, int top, int right, int bottom)
举个例子...您还可以更改按钮对象的布局参数,这使您可以访问通常可访问的所有 xml 属性。一般来说,您可以通过编程方式完成所有可以在 xml 中执行的操作。
如果这还不够,您可以扩展 Button 类并重写 onDraw 方法来更改 android 绘制按钮的方式
编辑:
也许你可以像这个线程建议的那样添加一个 xml 主题:How to programmatically setting style attribute in a view
然后在里面设置
并以编程方式将主题添加到按钮? 我没有做太多的主题工作,所以我无法证明这是否一定会起作用
【讨论】:
您认为为什么会这样?以你的一件物品为例,这里有一个set padding的方法。
对于角,您可以使用带有圆角形状的可绘制对象。请参阅documentation for drawables。 StackOverflow 上也有很多 questions(有答案)关于这个。如果您想以编程方式执行此操作,请使用 RoundedRectShape。
【讨论】: