【问题标题】:Superpose many image View on an ImageView in a customView在 customView 中的 ImageView 上叠加许多图像视图
【发布时间】:2014-05-09 12:35:12
【问题描述】:

我想在这个ImageView 上创建一个由ImageViewTextView 组成的android 视图。但是我们可以在 Android 中创建的自定义视图包含只能是某些类型的属性,如本文所述:Defining custom attrs 所以我无法定义具有ImageView 属性和TextView 属性的自定义视图. 我也不想这样定义:

<FrameLayout android:id="@+id/frame_layout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

      <ImageView
         android:id="@+id/card_11"
         android:layout_width="@dimen/card_width"
         android:layout_height="@dimen/card_height"
         android:src="@drawable/carte_vierge_bleue"
         android:scaleType="fitXY"
         android:clickable="true" 
         android:visibility="visible"
         android:onClick="onCardClicked"/>

    <TextView android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="1234 5678 1234 5678"
        android:layout_gravity="center"/>

</FrameLayout>

因为我想在那之后的第一个ImageView 上添加其他图像,所以我想要一个自定义视图,我可以随意修改它,并根据需要添加尽可能多的ImageViews,而且这种做法会使布局文件很长...... 有什么想法吗?

【问题讨论】:

    标签: android android-layout view android-custom-view


    【解决方案1】:

    如果我理解正确,您可以使用 RelativeLayout 和尽可能多的 ImageView。 例如:

    <RelativeLayout android:id="@+id/frame_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    
          <ImageView
             android:id="@+id/card_11"
             android:layout_width="@dimen/card_width"
             android:layout_height="@dimen/card_height"
             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_width="@dimen/card_width"
             android:layout_height="@dimen/card_height"
             android:src="@drawable/carte_vierge_bleue"
             android:scaleType="fitXY"
             android:clickable="true" 
             android:visibility="visible"
             android:onClick="onCardClicked"/>
    
        <TextView android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="1234 5678 1234 5678"
            android:layout_gravity="center"/>
    
    </RelativeLayout>
    

    TextView 会显示在 card12 ImageView 之上,它会显示在 card11 ImageView 之上等等。

    希望对您有所帮助,马蒂亚

    【讨论】:

    • 是的,你是对的,它奏效了。我只是想知道如何在视图的中心显示 textView,因为它显示在它的顶部,即使属性重力设置为 center ?
    • 你在一个RelativeLayout你不能使用gravity属性,你必须centerInParent="true"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-18
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    相关资源
    最近更新 更多