Фон
Я создал специальный компонент для рисования поверх изображения. На этом этапе я просто расширяю представление.
Моим основным намерением было создать виджет, но я не мог заставить его работать. Я попытался загрузить тот же компонент в основное действие, он сработал Face Palm .
Для ясности я прочитал many many многие многие ... многие разместить на этом топи c. Это не проблема конструктора.
Симптом
Когда я загружаю компонент в виджет, я получаю следующее исключение InflateException (без трассировки стека).
2020-06-20 09:23:56.368 2602-2602/? W/AppWidgetHostView: Error inflating AppWidget AppWidgetProviderInfo(UserHandle{0}/ComponentInfo{com.package/com.package.WidgetProvider}): android.view.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class com.package.MyView
Код
Класс виновника
@RemoteViews.RemoteView
public class MyView extends ImageView {
public MyView(Context context) {
this(context, null);
}
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private void init() {
// Eventually we'll do something mystical here
}
}
Вот макет виджета
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent">
<com.package.MyView
android:id="@+id/myview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/myimage"
/>
</LinearLayout>
Примечание: если я переключаю com.package.MyView на ImageView, он работает. См. Ниже (ImageView против MyView) введите описание изображения здесь
Вопрос
Как мне заставить этот компонент правильно надуваться в виджете?