设计TextView和ImageView的视图组合
问题描述:
我想开发一个可以同时用作ImageView和TextView的视图。通常可以通过扩展这两个类来实现,但Java不支持多重继承。设计TextView和ImageView的视图组合
然后有可能做到这一点吗?如何 ?
答
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