我创建了一个名为RoundedButton的自定义类,它扩展了Button。我想分配一些默认参数。怎么去呢?
我在下面实现了xml代码后没有任何变化。基本上,默认情况下没有添加样式。我不知道我错过了什么。
style.xml中的
<resources>
<style name="AppTheme" parent="@android:style/Theme.Light">
<item name="RoundedButtonStyle">@style/CustomView</item>
</style>
<style name="CustomView">
<item name="android:clickable">true</item>
<item name="android:focusable">true</item>
<item name="android:focusableInTouchMode">true</item>
<item name="android:colorBackground">@color/transparent</item>
<item name="android:textColor">@color/blue</item>
<item name="android:windowBackground">@color/transparent</item>
<item name="android:background">@drawable/button_border</item>
<item name="android:gravity">center</item>
</style>
</resources>
在attrs.xml中
<resources>
<attr name="RoundedButtonStyle" type="reference" />
</resources>
清单:
android:theme="@style/AppTheme"
RoundButton.java
public RoundedButton(Context context) {
super(context);
ctx = context;
}
public RoundedButton(Context context, AttributeSet attrs) {
super(context, attrs, R.attr.RoundedButtonStyle);
ctx = context;
TypedArray attrsArray = context.obtainStyledAttributes(attrs, R.styleable.RoundedButtonAttrs, 0, 0);
initAttributesArray(attrsArray);
attrsArray.recycle();
initializeRoundedButton();
}
编辑:之前我遇到的问题是背景是浅灰色并没有改变,我发现问题是因为我后来在UI类中有一行代码。