ShapeDrawable и TableLayout - PullRequest
       7

ShapeDrawable и TableLayout

0 голосов
/ 16 мая 2011

Я пытаюсь поместить объект ShapeDrawable в ячейку TableLayout. В соответствии с документацией здесь я создаю собственное представление mCustomView, а затем добавляю представление в TableLayout, выполняя

mRow.addView(mCustomView)
mTableLayout.addView(mRow)

Все работает нормально, ошибок нет, но форма вообще не отображается.

Код для создания моего рисованного элемента:

icon = new ShapeDrawable(new ArcShape(0, 360));
icon.setBounds(0, 0, 20, 20);
icon.getPaint().setColor(parseColor);

1 Ответ

1 голос
/ 16 мая 2011

После еще нескольких копаний и исследований выясняется, что лучшим решением является передача объекта ShapeDrawable в конструктор ImageView, а затем добавление этого представления в строку таблицы с чем-то вроде этого

ShapeDrawable icon = new ShapeDrawable(new ArcShape(0, 360));
icon.getPaint().setColor(parseColor);
icon.setIntrinsicHeight(30);
icon.setIntrinsicWidth(30);
ImageView iv = new ImageView(this);
iv.setImageDrawable(icon);  
mRow.addView(iv);
mTableLayout.addView(mRow)

Преимущество этого решения заключается в избавлении от пользовательского класса View.

...