У меня есть обычай PieTimer Просмотр в Android Библиотека проектаПомощь с обычаем Просмотр атрибутов внутри проекта Android библиотеки
package com.mysite.android.library.pietimer;
public class PieTimerView extends View {
...
У меня также есть XML файл атрибутов, которые я использую в моей PieTimer
TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.PieTimerView);
styleable файл XML выглядит следующим образом
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="PieTimerView">
<attr name="max_size" format="dimension" />
<attr name="start_angle" format="string" />
<attr name="start_arc" format="string" />
<attr name="ok_color" format="color" />
<attr name="warning_color" format="color" />
<attr name="critical_color" format="color" />
<attr name="background_color" format="color" />
</declare-styleable>
</resources>
Я имею PieTimer в файле макета для проекта, использует библиотеку, как этого
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root" android:layout_gravity="center_horizontal"
xmlns:app="http://schemas.android.com/apk/res/com.mysite.android.library.myapp"
xmlns:pie="com.mysite.library.pietimer"
>
<com.mysite.library.pietimer.PieTimerView
pie:start_angle="270"
pie:start_arc="0"
pie:max_size="70dp"
pie:ok_color="#9798AD"
pie:warning_color="#696DC1"
pie:critical_color="#E75757"
pie:background_color="#D3D6FF"
android:visibility="visible"
android:layout_height="wrap_content" android:id="@+id/clock"
android:layout_width="wrap_content"
android:layout_alignParentRight="true">
</com.mysite.library.pietimer.PieTimerView>
Раньше я использовал xmlns:app
в качестве пространства имен для атрибутов, как app:ok_color
, но когда я сделал свой проект библиотеки проект и имеет бесплатную и полную версию, реализующую библиотеку, я нашел его нет дольше работал, поэтому я добавил пространство имен пирога.
PieTimerView отображает, но атрибут не работает, они используют значение по умолчанию (это не происходило раньше), поэтому здесь существует конфликт конфликтов пространства имен.
Каков правильный способ сделать это?
Вы нашли лучшее решение? – 2011-01-25 15:26:12
Пожалуйста, скажите мне, что есть лучший способ сделать это. У меня такая же проблема, включая объявления admob в проекте библиотеки. – 2011-02-13 23:45:39
Хороший вопрос. Я также сталкиваюсь с той же проблемой. Все могут дать свои идеи. – 2012-09-25 07:20:46