Android: нарисуйте вид внутри надутого xml (другой вид) - PullRequest
0 голосов
/ 23 октября 2010

У меня есть небольшой 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, но ничего не получилось,

есть идеи ??

Ответы [ 2 ]

2 голосов
/ 12 ноября 2010

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

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

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

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

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

0 голосов
/ 23 октября 2010

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

...