Android 使用自定义属性创建默认样式
这就是我的问题:我创建了一个自定义组件,它扩展了Android 使用自定义属性创建默认样式,android,styles,themes,attr,Android,Styles,Themes,Attr,这就是我的问题:我创建了一个自定义组件,它扩展了按钮这个按钮有一个名为testAttr的属性 <declare-styleable name="TestButton" parent="@android:style/Widget.Button"> <attr name="testAttr" format="reference|color"/> </declare-styleable> 当然,我在清单中设定了主题: <uses-sdk an
按钮
这个按钮有一个名为testAttr
的属性
<declare-styleable name="TestButton" parent="@android:style/Widget.Button">
<attr name="testAttr" format="reference|color"/>
</declare-styleable>
当然,我在清单中设定了主题:
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.AppTheme" >
<activity
android:name=".TestActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
由于某些原因,它总是返回默认样式,并且从不设置android属性。我是不是遗漏了什么?嗯,我应该在问问题之前看得更清楚些 找到解决方案: 替换为:
public myButton(final Context context, final AttributeSet attrs) {
this(context, attrs, R.styleable.TestTheme_testStyle);
}
为此:
public myButton(final Context context, final AttributeSet attrs) {
this(context, attrs, R.attr.testStyle);
}
我在做类似的事情!!!
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.AppTheme" >
<activity
android:name=".TestActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
public myButton(final Context context, final AttributeSet attrs) {
this(context, attrs, R.styleable.TestTheme_testStyle);
}
public myButton(final Context context, final AttributeSet attrs) {
this(context, attrs, R.attr.testStyle);
}