我的xml中有2个布局,一个CircularImageView和一个ImageView,而ImageView必须出现在CircularImageView的顶部。
我试过了:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_kids_register_ll_kid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/md_white_1000"
android:orientation="horizontal">
<RelativeLayout
android:padding="16dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<com.mikhaellopez.circularimageview.CircularImageView
android:id="@+id/fragment_kids_row_img_kids"
android:layout_width="70dp"
android:layout_height="70dp"
android:src="@drawable/ic_boy"
/>
<ImageView
android:id="@+id/fragment_kids_row_iv_crown"
android:layout_toRightOf="@+id/fragment_kids_row_img_kids"
android:layout_marginLeft="-26dp"
android:layout_marginTop="-22dp"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_crown"/>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/fragment_kids_row_tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:textColor="@color/md_black_1000"
android:textSize="24sp" />
<TextView
android:id="@+id/fragment_kids_row_tv_age"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="1 ano e 4 meses"
android:textColor="#808080"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
我需要将图像准确显示在图片中的该位置,但不要&#34;裁剪&#34;,我在这里缺少什么?
顺便说一句,这个组件是RecyclerView行的一部分。
编辑--- 我忘了提到,图片只是一个显示阿凡达的占位符,但图像是人口填充的!
谢谢!
答案 0 :(得分:1)
您应用于第一个relativeLayout的填充(16dp)会让您认为有更多的地方,并且您可以向上移动imageView。实际上,边距就像是一个缺口,它不会扩展你的布局。
这是我建议的解决方案,使用FrameLayout
<FrameLayout
android:layout_width="100dp"
android:layout_height="100dp">
<com.mikhaellopez.circularimageview.CircularImageView
android:id="@+id/fragment_kids_row_img_kids"
android:layout_gravity = "center"
android:layout_width="70dp"
android:layout_height="70dp"
android:src="@drawable/ic_boy"
/>
<ImageView
android:id="@+id/fragment_kids_row_iv_crown"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_crown"
android:layout_gravity="right|top" />
</FrameLayout>
编辑:您不必使用frameLayout,如果要设置不同的边距,可以使用relativeLayout。这里的重点是让您的包含布局更大,以便放置imageview easily
。
答案 1 :(得分:0)
如果您希望将一张图片放在另一张图像之上,为什么要使用android:layout_toRightOf
?
将其取下,第二张图像应覆盖第一张图像。
您也可以尝试删除第二张图片的边距,然后使用centerInParent
,centerVertically
或centerHorizontally
。
或者也许我没有解决所有问题)然后请提供更多细节。感谢。
答案 2 :(得分:0)
您是否尝试过使用Paint / Photoshop等图像编辑器并合并这两个图像?然后,您只需在视图中显示一个图像。
答案 3 :(得分:0)
尝试使用线性布局,方向设置为垂直。