在 customView 中的 ImageView 上叠加许多图像视图
Posted
技术标签:
【中文标题】在 customView 中的 ImageView 上叠加许多图像视图【英文标题】:Superpose many image View on an ImageView in a customView 【发布时间】:2014-05-09 12:35:12 【问题描述】:我想在这个ImageView
上创建一个由ImageView
和TextView
组成的android 视图。但是我们可以在 Android 中创建的自定义视图包含只能是某些类型的属性,如本文所述:Defining custom attrs 所以我无法定义具有ImageView
属性和TextView
属性的自定义视图.
我也不想这样定义:
<FrameLayout android:id="@+id/frame_layout"
android:layout_
android:layout_>
<ImageView
android:id="@+id/card_11"
android:layout_
android:layout_
android:src="@drawable/carte_vierge_bleue"
android:scaleType="fitXY"
android:clickable="true"
android:visibility="visible"
android:onClick="onCardClicked"/>
<TextView android:layout_
android:layout_
android:text="1234 5678 1234 5678"
android:layout_gravity="center"/>
</FrameLayout>
因为我想在那之后的第一个ImageView
上添加其他图像,所以我想要一个自定义视图,我可以随意修改它,并根据需要添加尽可能多的ImageView
s,而且这种做法会使布局文件很长......
有什么想法吗?
【问题讨论】:
【参考方案1】:如果我理解正确,您可以使用 RelativeLayout 和尽可能多的 ImageView。 例如:
<RelativeLayout android:id="@+id/frame_layout"
android:layout_
android:layout_>
<ImageView
android:id="@+id/card_11"
android:layout_
android:layout_
android:src="@drawable/carte_vierge_bleue"
android:scaleType="fitXY"
android:clickable="true"
android:visibility="visible"
android:onClick="onCardClicked"/>
<ImageView
android:id="@+id/card_12"
android:layout_
android:layout_
android:src="@drawable/carte_vierge_bleue"
android:scaleType="fitXY"
android:clickable="true"
android:visibility="visible"
android:onClick="onCardClicked"/>
<TextView android:layout_
android:layout_
android:text="1234 5678 1234 5678"
android:layout_gravity="center"/>
</RelativeLayout>
TextView 会显示在 card12 ImageView 之上,它会显示在 card11 ImageView 之上等等。
希望对您有所帮助,马蒂亚
【讨论】:
是的,你是对的,它奏效了。我只是想知道如何在视图的中心显示 textView,因为它显示在它的顶部,即使属性重力设置为 center ? 你在一个RelativeLayout你不能使用gravity属性,你必须centerInParent="true"。以上是关于在 customView 中的 ImageView 上叠加许多图像视图的主要内容,如果未能解决你的问题,请参考以下文章
在 UIBarButtonItem 的 customView 字段中更新 UIView
iOS开发小技巧--获取自定义的BarButtonItem中的自定义View的方法(customView)