Как использовать собственный вид в макете? - PullRequest
7 голосов
/ 01 апреля 2011

Я создал такой класс

public final class MyView extends View {

    public MyView(Context context, AttributeSet attrs) {
        super(context, attrs);
        [...]
    }
        [...]
}

и затем хочу использовать его в своем layout.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent">

  <com.hitziger.barcode.MyView
      android:id="@+id/my_view"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"/>

</FrameLayout>

Но Eclipse сообщает мне в журнале ошибок

AndroidManifest: игнорирование неизвестного XML-элемента com.hitziger.barcode.MyView *

Как сделать MyView доступным в макете?Нужно ли публиковать этот класс в другом месте?

Ответы [ 2 ]

11 голосов
/ 01 апреля 2011

Вы должны написать это как:

<view class="com.hitziger.barcode.MyView"...
0 голосов
/ 27 ноября 2011

в файле layout.xml, используйте:

<View 
    android:class="com.hitziger.barcode.MyView"
    android:id="@+id/my_view"
...

вместо:

<com.hitziger.barcode.MyView
    android:id="@+id/my_view"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...