Android在父RelativeLayout内裁剪ImageView
Posted
技术标签:
【中文标题】Android在父RelativeLayout内裁剪ImageView【英文标题】:Android crop ImageView inside parent RelativeLayout 【发布时间】:2013-08-20 17:06:48 【问题描述】:我想知道如何裁剪ImageView
,它具有使用固定宽度和高度的缩放背景图像parent
。
基本上,我希望使用ImageView android:background
缩放图像,然后我想裁剪图像中超出父级范围的部分。
到目前为止,我有这个代码:
<RelativeLayout android:id="@+id/time_foregrd"
android:layout_
android:layout_
android:layout_marginLeft="100px"
android:layout_marginTop="285px"
android:clipChildren="true"
>
<ImageView android:layout_
android:layout_
android:minWidth="57px"
android:minHeight="338px"
android:background="@drawable/time_foreground"
/>
</RelativeLayout>
但它不起作用......我做错了什么?
【问题讨论】:
【参考方案1】:好的,我设法做到了。我没有使用RelativeLayout
,而是使用了FrameLayout
,效果很好。
代码如下:
<FrameLayout android:id="@+id/time_foregrd"
android:layout_
android:layout_
android:layout_marginLeft="100px"
android:layout_marginTop="285px"
>
<ImageView android:layout_
android:layout_
android:layout_gravity="bottom"
android:scaleType="fitXY"
android:src="@drawable/time_foreground"
/>
</FrameLayout>
【讨论】:
使用RelativeLayout
时是不是不行?因为我在这个容器里需要不止一个孩子。【参考方案2】:
我可以在我的 RelativeLayout 中使用
做同样的事情android:scaleType="centerCrop"
【讨论】:
【参考方案3】:1- 用 relativeLayout 包装该元素。
2- 将此添加到您的元素中:android:layout_gravity="center_vertical"
它将充当 ImageView 的 scaleType="centerCrop"
<LinearLayout
android:id="@+id/ll_wrapper"
android:layout_
android:layout_ >
<TextureView
android:layout_
android:layout_
android:id="@+id/tv_YourElement"
android:layout_gravity="center_vertical" />
</LinearLayout>
android:layout_gravity= "center_vertical" , "center_horizontal", “中心”,...
【讨论】:
以上是关于Android在父RelativeLayout内裁剪ImageView的主要内容,如果未能解决你的问题,请参考以下文章
Android相对布局(RelativeLayout)最全解析
Android 的 RelativeLayout 单元测试设置