0

我对自定义视图的样式有问题。我想在不同的布局中使用不同的样式。但是我的样式没有应用。

自定义视图布局:

<?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">

样式.xml

<style name="BukaStyle1">
        <item name="android:textSize">10sp</item>
</style>

<style name="BukaStyle2">
        <item name="android:textSize">20sp</item>
</style> 

谢谢

4

1 回答 1

0

您应该创建一个自定义属性:
<attr name="BukaStyleTextSize" format="dimensions" />

然后在TextView自定义视图布局的标签中,放入:
android:textSize="?attr:BukaStyleTextSize"

最后,在您的样式中styles.xml放入:
<item name="BukaStyleTextSize>10sp</item>

于 2012-11-21T13:34:47.387 回答