我正在尝试通过应用程序添加动态字体更改设置。我使用了典型的样式和attr方法,但我收到了这个警告。
渲染问题"?attr / font_medium"在属性" textSize"不是有效的格式。 (16个类似的错误未显示)
示例TextView
<TextView
android:id="@+id/labelWeeks"
android:layout_width="wrap_content"
android:gravity="center"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:paddingLeft="2dp"
android:paddingRight="2dp"
style="@style/TextViewStyle"
android:textColor="@color/app_white"/>
我的style.xml有这个
<style name="TextViewStyle">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:text">@string/app_name</item>
<item name="android:ellipsize">end</item>
<item name="android:textSize">?attr/font_small</item>
</style>
和attr.xml有这个
<declare-styleable name="FontStyle">
<attr name="font_small" format="dimension" />
<attr name="font_medium" format="dimension" />
<attr name="font_large" format="dimension" />
</declare-styleable>
那么,这个警告是什么以及如何重新开始
答案 0 :(得分:0)
答案 1 :(得分:0)
您的attr.xml文件与?attr / some_attribute引用无关。
<declare-styleable>
标记用于定义自定义视图属性,例如View has&#34; layout_width&#34;和&#34; layout_height&#34;等(learn more about declare-styleable)
要定义自定义维度,请使用res / values / dimens.xml文件,并按如下方式定义值:
<resources>
<dimen name="font_small">12sp</dimen>
<dimen name="font_medium">14sp</dimen>
<dimen name="font_large">16sp</dimen>
</resources>
然后引用它们:
<style name="TextViewStyle">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:text">@string/app_name</item>
<item name="android:ellipsize">end</item>
<item name="android:textSize">@dimen/font_small</item>
</style>