Android 子view超出父view范围绘制
2018-02-02 15:17
1146 查看
相信在看到我的这篇博客之前,各位道友已经看过其他相关的博客了,so let’s take all bullshit out.
我在初次尝试超过父view绘制子view的操作时,总是失败。我甚至在布局文件的各个父view中添加了android:clipChildren=”false”,还是失败了。代码如下:
接下来是其他博客上成功的代码:
发现了不同了没有?发现了发现了,imgview引用的图片不同。开个玩笑,当然不是这个原因。原因是被子类超出的父view是LinearLayout,而失败的是RelativeLayout.想起来之前读过的一篇博客,里面探讨了LinearLayout控件对子view的layout_gravity属性的限制。那么RelativeLayout是不是也限制了子view不能超出父view绘制呢。很可惜,目前我没有找到相关文章。
值得一提的是,就像安卓的视图动画一样,超出父view绘制而成的img部分,不能响应点击事件。
我在初次尝试超过父view绘制子view的操作时,总是失败。我甚至在布局文件的各个父view中添加了android:clipChildren=”false”,还是失败了。代码如下:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:clipChildren="false" tools:context="com.example.bigyoung.overpicture.MainActivity"> <RelativeLayout android:layout_width="match_parent" android:layout_height="100dp" android:background="#000" android:layout_centerInParent="true"> <RelativeLayout android:layout_width="match_parent" android:layout_height="200dp" android:layout_gravity="bottom" > <ImageView android:layout_width="200dp" android:layout_height="200dp" android:layout_gravity="bottom" android:contentDescription="hahha" android:src="@mipmap/desert" /> </RelativeLayout> </RelativeLayout> </RelativeLayout>
接下来是其他博客上成功的代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:clipChildren="false"> <LinearLayout android:id="@+id/ll_bottom" android:layout_width="match_parent" android:layout_height="60dp" android:layout_alignParentBottom="true" android:orientation="horizontal"> <RelativeLayout android:layout_width="100dp" android:layout_height="90dp" android:layout_gravity="bottom"> <ImageView android:id="@+id/dd5" android:layout_width="60dp" android:layout_height="60dp" android:layout_centerInParent="true" android:src="@mipmap/desert" /> <TextView android:padding="2dp" android:textSize="10sp" android:layout_centerInParent="true" android:text="添加" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/dd5"/> </RelativeLayout> </LinearLayout> </RelativeLayout>
发现了不同了没有?发现了发现了,imgview引用的图片不同。开个玩笑,当然不是这个原因。原因是被子类超出的父view是LinearLayout,而失败的是RelativeLayout.想起来之前读过的一篇博客,里面探讨了LinearLayout控件对子view的layout_gravity属性的限制。那么RelativeLayout是不是也限制了子view不能超出父view绘制呢。很可惜,目前我没有找到相关文章。
值得一提的是,就像安卓的视图动画一样,超出父view绘制而成的img部分,不能响应点击事件。
相关文章推荐
- Android 子view超出父View效果
- Android ViewGroup指定子View的绘制顺序
- android的WebView加载html内容图片超出屏幕范围
- Android View绘制机制分析
- Android View绘制流程
- View 绘制流程---android 内核剖析
- Android应用层View绘制流程与源码分析
- Android View 绘制流程之测量(一)
- Android中View绘制优化二一---- 使用<include />标签复用布局文件
- Android应用层View绘制流程与源码分析
- Android使用自定义View继承SurfaceView实现动态折线图的绘制
- Android开发——View绘制过程源码解析(一)
- 用剪纸类比Android View的绘制流程
- 【Android View绘制之旅】Layout过程
- Android中的View与ViewGroup绘制过程,手势监听顺序与使用
- Android项目技术总结:获取状态栏和标题栏并计算长宽来限制绘制浮动窗口活动范围
- Android 绘图基础:Canvas画布——自定义View基础(绘制表盘、矩形、圆形、弧、渐变)
- Android RecyclerView 设置分割线(item头部也绘制)
- Android开发,超出屏幕范围的控件显示解决办法
- Android基于OpenGL在GLSurfaceView上绘制三角形及使用投影和相机视图方法示例