Android - ошибка макета SDK/IDE (с пользовательскими макетами)?

Может кто-нибудь сказать мне, если это ошибка в SDK/IDE:

Любой пользовательский или расширенный макет, который я добавляю в свой XML-макет, заставляет IDE игнорировать тот факт, что существуют какие-либо дочерние представления этого макета (они просто исчезают из представления / окна структуры), что делает их недоступными для редактирования через представление / окно свойств. (Мне нужно расширить макет, чтобы сделать onSetAlpha() общедоступным)

К вашему сведению: я разрабатываю для Android 1.5 и выше, используя все последние плагины / обновления в Eclipse

Вот простой пример макета XML и расширенного макета, который вызывает эту ошибку.

[Расширенный макет]

package com.test;
public class CustomLinearLayout extends LinearLayout
{

    public CustomLinearLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public CustomLinearLayout(Context context) {
        super(context);
    }
}

[Простой макет XML]

<?xml version="1.0" encoding="utf-8"?>
<com.test.CustomLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
  <ImageView android:id="@+id/ImageView01"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"></ImageView>
</com.test.CustomLinearLayout>

ImageView01 не виден и не может быть изменен в свойствах или схематических представлениях / окнах.

Благодарю.

1 ответ

Решение

Если вы хотите редактировать свойства представления, просто замените com.test.CustomLinearLayout на LinearLayout. Затем вы можете увидеть вид в свойствах и можете редактировать свойства. После того, как вы закончите редактирование, затем верните тег к исходному, который находится от LinearLayout до com.test.CustomLinearLayout

Другие вопросы по тегам