我创建了一个名为 RoundedButton 的自定义类,它扩展了 Button。我想分配一些默认参数。怎么办?
在我实现下面的 xml 代码后没有任何变化。基本上默认情况下没有添加样式。我不知道我错过了什么。
在样式.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 类中的一行代码。