Android: рисовать представление внутри раздутого xml (другое представление)

У меня есть небольшой файл xml с именем xmlview.xml, который выглядит примерно так:

<tablelayout>
   <tablerow>
      <view id="view1" />

Я создал класс, который расширяет представление, и я раздул этот XML-файл, и теперь у меня есть представление, полученное благодаря раздуванию.

xmlView = layoutInflater.inflate(R.layout.xmlview, this);

Мне интересно, есть ли способ нарисовать представление "view1" внутри представления "xmlview"

Я пробовал что-то вроде:

View view1 = (View)xmlview.findById(R.Id.view1);

а затем я попытался в переопределенном onDraw рисовать на view1, но ничего не получилось,

Любые идеи ??


person Kerric    schedule 23.10.2010    source источник


Ответы (2)


Мне кажется, возможно, вы должны попробовать что-то вроде этого:

<TableLayout>
   <TableRow>
     <com.yourdomain.yourproject.ViewClassName>

Затем вы можете создать класс ViewClassName, который расширяет представление, и в этом классе переопределить метод onDraw. Это подробно объясняется здесь: http://developer.android.com/guide/topics/ui/custom-components.html. Вы можете сразу перейти к теме Изменение существующего типа представления.

Видите ли, вам не нужно раздувать вид, если единственная причина сделать это — попытаться манипулировать отрисовкой вида. И если это единственная причина, вы действительно не должны.

надеюсь я помог

person Andre Luis IM    schedule 12.11.2010

Я не уверен, что именно вы подразумеваете под «рисовать в представлении», но похоже, что вам следует изучить файл Холст. Вы не должны произвольно переопределять метод onDraw, это то, что заставляет ваши виджеты появляться на экране.

person Cheryl Simon    schedule 23.10.2010