Создание значений по умолчанию для пользовательских атрибутов с использованием стилей и тем

У меня есть несколько пользовательских View, в которых я создал настраиваемые атрибуты с возможностью изменения стиля, которые объявлены в макете xml и считываются во время конструктора представления. Мой вопрос в том, что если я не даю явных значений всем пользовательским атрибутам при определении моего макета в xml, как я могу использовать стили и темы, чтобы иметь значение по умолчанию, которое будет передано моему View' конструктор?

Например:

attrs.xml:

<declare-styleable name="MyCustomView">
    <attr name="customAttribute" format="float" />
</declare-styleable>

layout.xml (теги android:исключены для простоты):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res/com.mypackage" >

    <-- Custom attribute defined, get 0.2 passed to constructor -->

    <com.mypackage.MyCustomView
        app:customAttribute="0.2" />

    <-- Custom attribute not defined, get a default (say 0.4) passed to constructor -->

    <com.mypackage.MyCustomView />

</LinearLayout>
15
задан happydude 2 June 2012 в 05:58
поделиться