您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
解决安卓开发中FrameLayout中嵌入imageView的默认居顶不为0的问题
发布时间:2021-07-10 12:00:18编辑:雪饮阅读()
那么在安卓中比如一个videoView中添加一个logo悬浮,其实就是一个图片遮在这个videoView之上,即imageView遮在videoView之上。
那么一般实现都是如:
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/sv_with_ds"
android:visibility="gone"
android:layout_margin="0dp"
android:padding="0dp"
>
<VideoView
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="200dip"
android:layout_margin="0dp"
android:padding="0dp"
android:layout_gravity="left"
/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"
android:id="@+id/linear_layout_ds"
android:layout_margin="0dip"
android:padding="0dip"
android:layout_gravity="left"
>
<ImageView
android:id="@+id/ds"
android:layout_width="100dip"
android:layout_height="100dip"
android:clickable="true"
android:visibility="gone"
android:padding="0dip"
android:layout_margin="0dip"
android:scaleType="fitXY"
/>
</RelativeLayout>
</FrameLayout>
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/sv_with_ds"
android:visibility="gone"
android:layout_margin="0dp"
android:padding="0dp"
>
<VideoView
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="200dip"
android:layout_margin="0dp"
android:padding="0dp"
android:layout_gravity="left"
/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"
android:id="@+id/linear_layout_ds"
android:layout_margin="0dip"
android:padding="0dip"
android:layout_gravity="left"
>
<ImageView
android:id="@+id/ds"
android:layout_width="100dip"
android:layout_height="100dip"
android:clickable="true"
android:visibility="gone"
android:padding="0dip"
android:layout_margin="0dip"
android:scaleType="fitXY"
/>
</RelativeLayout>
</FrameLayout>
虽然我这里图片多了一层RelativeLayout,其实这层可以不需要的,只是我这里有其它用处。
那么这里最重要的是标红的这部分,如果没有这部分,则你会发现视频上面叠加的图片会因为不同的图片所呈现的效果也不同,比如有的图片可以默认在左上角,但是有的图片则如:
即虽然居左了,但是默认没有居顶,并且此时你获取imageView的getTop会发现其值竟然是0,那么0应该是在最顶上啊,为什么上面还有一处空白区域,应该是和视频的顶部在同一位置才对。这就需要android:scaleType="fitXY"来处理了。
关键字词:FrameLayout,imageView,居顶,0,getTop
相关文章
- 如何解决安卓开发中imageView移动如setTranslationX导
- ubuntu-18.04.5-desktop-amd64與ndk(r21e)交叉編譯ffm
- linux下安卓環境(安卓sdk)安裝配置(ubuntu-18.04.5-desk
- 交叉编译ffmpeg4.3.2(api28、安卓9、ubuntu-18.04.5-d
- 解決win10'你不能访问此共享文件夹xxx'
- 第12讲-传值、传址和传引用
- 解决win10中vmware中系统假死、拖拽卡死、鼠标无响应
- win10如何彻底关闭hyper-v
- 解决eNSP配置路由子接口时“control-vid 10 dot1q-ter
- 解决eNSP在win10中路由设备无法启动'错误代码40'