1

ImageView と TextView の両方として機能するビューを開発したいのですが、通常は両方のクラスを拡張することで可能ですが、Java は多重継承をサポートしていません。

これを行うことは可能ですか?そしてどうやって ?

4

3 に答える 3

2

私はこれを非常に遅く投稿していることを知っています。あなたも問題を修正したかもしれません! まだ回避策を共有することを考えていました。

同様の要件があり、GridView がこれに最適ではないことに気付きました。これを実装するには、TableLayout を使用し、TableRows の要素を ImageView または TextView として定義します。これは、静的な UI 構造を使用している場合、つまり、どのテーブル インデックスにどの要素を含める必要があるかがわかっている場合の回避策として役立ちます。これが誰かに役立つことを願っています。

<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>
于 2016-01-07T20:35:50.897 に答える
1

TextView には「DrawableTop/Left/Right」というパラメーターがあります。

于 2012-07-16T07:57:50.167 に答える
0

これを行うには、クラスViewを拡張してカスタムを作成できます。カスタム ボタンの作成例を次に示します。カスタムを表示しているため、正確にはあなたが探しているものではありませんが、開始するのに役立つと思います.ViewViewButton

于 2012-07-16T07:02:11.317 に答える