Разработка комбинации представлений TextView и ImageView

1

Я хочу разработать представление, которое может работать как с ImageView, так и с TextView. В целом его можно расширить, расширив оба класса, но Java не поддерживает множественное наследование.

Тогда можно ли это сделать? и как?

  • 1
    почему ты хочешь? К вашему сведению, вы можете создать собственный вид, расширив вид.
  • 0
    Почему бы вам просто не установить фон для вашего TextView и установить текст на него, когда это необходимо?
Показать ещё 1 комментарий
Теги:
views

3 ответа

2

Я знаю, что я отправляю это очень поздно, и вы, возможно, исправили проблему тоже! Все еще думал о совместной работе.

У меня было аналогичное требование, и я понял, что GridView не подходит для этого. Я реализовал это, используя TableLayout и определяя элементы TableRows как ImageView или TextView. Это может служить обходным путем для вас, если у вас есть статическая структура пользовательского интерфейса, то есть вы знаете, какой индекс таблицы должен содержать какой элемент. Надеюсь, это поможет кому-то.

<TableLayout
    android:id="@+id/tableLayout3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:shrinkColumns="*"
    android:stretchColumns="*"
    android:layout_below="@+id/tagGrid">

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <TextView
            android:layout_height="@dimen/activity_vertical_margin"
            android:layout_width="@dimen/activity_horizontal_margin"/>

        <ImageView
            android:layout_height="@dimen/activity_vertical_margin"
            android:layout_width="@dimen/activity_horizontal_margin"
            android:src="@drawable/orange"/>

        <ImageView
            android:layout_height="@dimen/activity_vertical_margin"
            android:layout_width="@dimen/activity_horizontal_margin"
            android:src="@drawable/blue"/>

        <ImageView
            android:layout_height="@dimen/activity_vertical_margin"
            android:layout_width="@dimen/activity_horizontal_margin"
            android:src="@drawable/yellow"/>

        <ImageView
            android:layout_height="@dimen/activity_vertical_margin"
            android:layout_width="@dimen/activity_horizontal_margin"
            android:src="@drawable/milkman"/>

    </TableRow>

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <ImageView
            android:layout_height="@dimen/activity_vertical_margin"
            android:layout_width="@dimen/activity_horizontal_margin"
            android:src="@drawable/check"/>

            <TextView
                android:id="@+id/tv1"
                android:layout_height="@dimen/activity_vertical_margin"
                android:layout_width="@dimen/activity_horizontal_margin"
                android:text="10.4"
                android:gravity="center" />
            <TextView
                android:id="@+id/tv2"
                android:layout_height="@dimen/activity_vertical_margin"
                android:layout_width="@dimen/activity_horizontal_margin"
                android:text="10.4"
                android:gravity="center" />
            <TextView
                android:id="@+id/tv3"
                android:layout_height="@dimen/activity_vertical_margin"
                android:layout_width="@dimen/activity_horizontal_margin"
                android:text="10.4"
                android:gravity="center" />
            <TextView
                android:id="@+id/tv4"
                android:layout_height="@dimen/activity_vertical_margin"
                android:layout_width="@dimen/activity_horizontal_margin"
                android:text="10.4"
                android:gravity="center" />

    </TableRow>

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <ImageView
            android:layout_height="@dimen/activity_vertical_margin"
            android:layout_width="@dimen/activity_horizontal_margin"
            android:src="@drawable/cross"/>

        <TextView
            android:id="@+id/tv5"
            android:layout_height="@dimen/activity_vertical_margin"
            android:layout_width="@dimen/activity_horizontal_margin"
            android:text="10.4"
            android:gravity="center" />

        <TextView
            android:id="@+id/tv6"
            android:layout_height="@dimen/activity_vertical_margin"
            android:layout_width="@dimen/activity_horizontal_margin"
            android:text="10.4"
            android:gravity="center" />

        <TextView
            android:id="@+id/tv7"
            android:layout_height="@dimen/activity_vertical_margin"
            android:layout_width="@dimen/activity_horizontal_margin"
            android:text="10.4"
            android:gravity="center" />

        <TextView
            android:id="@+id/tv8"
            android:layout_height="@dimen/activity_vertical_margin"
            android:layout_width="@dimen/activity_horizontal_margin"
            android:text="10.4"
            android:gravity="center" />

    </TableRow>

</TableLayout>
1

TextView имеет параметр "DrawableTop/Left/Right".

0

Для этого вы можете создать пользовательский View, расширив класс View. Ниже приведен пример создания пользовательской кнопки " View. Это не совсем то, что вы ищете, поскольку оно показывает пользовательскую Button, но я верю, что вы ее начнете.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню