如何将默认参数设置为自定义UI类?

时间:2016-09-24 13:26:40

标签: android declare-styleable

我创建了一个名为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();
}

我已使用thisthis来尝试解决此问题。

编辑:之前我遇到的问题是背景是浅灰色并没有改变,我发现问题是因为我后来在UI类中有一行代码。

0 个答案:

没有答案