我想開發一個可以同時用作ImageView和TextView的視圖。通常可以通過擴展這兩個類來實現,但Java不支持多重繼承。設計TextView和ImageView的視圖組合
然後有可能做到這一點嗎?如何 ?
我想開發一個可以同時用作ImageView和TextView的視圖。通常可以通過擴展這兩個類來實現,但Java不支持多重繼承。設計TextView和ImageView的視圖組合
然後有可能做到這一點嗎?如何 ?
爲此,您可以通過擴展View
類來創建自定義View
。 Here是創建自定義按鈕View
的示例。這不是你正在尋找的,因爲它展示了一個自定義Button
,但我相信它會讓你開始。
TextView具有參數「DrawableTop/Left/Right」。
我知道我發佈這個很晚,你可能已經修復了這個問題!仍然想到分享工作。
我有一個類似的要求,並認識到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>
爲什麼你想要?僅供參考,您可以通過擴展視圖來設計自定義視圖。 – 2012-07-16 06:59:07
爲什麼不簡單地爲您的TextView設置背景並在需要時將文本設置爲它? – 2012-07-16 07:00:55
但我需要ImageView和TextView的所有功能以單個視圖 – surendra 2012-07-16 07:01:40