我在设计customview时遇到问题。 我想在不同的布局中使用不同的样式。但我的风格不适用。
CustomView布局:
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
<ImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
</merge>
在另一个布局中定义:
<com.buka.customviews.Bukaview
android:id="@+id/bukaId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/BukaStyle1">
styles.xml
<style name="BukaStyle1">
<item name="android:textSize">10sp</item>
</style>
<style name="BukaStyle2">
<item name="android:textSize">20sp</item>
</style>
由于
答案 0 :(得分:0)
您应该创建自定义属性:
<attr name="BukaStyleTextSize" format="dimensions" />
然后在自定义视图布局的TextView
标记中输入:
android:textSize="?attr:BukaStyleTextSize"
最后,在styles.xml
中的样式中放置:
<item name="BukaStyleTextSize>10sp</item>