布局-关于自定义viewGroup,在onMeasure中改变childView的padding的问题

问题描述

关于自定义viewGroup,在onMeasure中改变childView的padding的问题

问题如标题描述的一样
自定义viewGroup,如果需要动态计算/改变childView的padding,会导致重新layout时,获取到的childwidth和childHeight并非第一次addView的值,哪位大侠有直接的解决办法。。

解决方案

自定义ViewGroup之margin和padding

解决方案二:

改变View的padding,会导致width和Height改变,你获取到的值是真实的值啊。你想要改变前的值吗?那你可以试下在onMeasure中改变前先主动调用child.measure方法,再主动获取child.getMeasureWidth,得到的值用变量保存下来

时间: 2024-12-10 10:49:35

布局-关于自定义viewGroup,在onMeasure中改变childView的padding的问题的相关文章

Android学习自定义View(五)——自定义ViewGroup及其onMeasure()的理解

MainActivity如下: package cc.testviewstudy5; import android.os.Bundle; import android.app.Activity; /** * Demo描述: * 自定义ViewGroup及其onMeasure()的理解 * * 参考资料: * 1 http://blog.csdn.net/guolin_blog/article/details/16330267 * 2 http://blog.csdn.net/dawanganba

Android应用开发中自定义ViewGroup视图容器的教程_Android

一.概述在写代码之前,我必须得问几个问题:1.ViewGroup的职责是啥?ViewGroup相当于一个放置View的容器,并且我们在写布局xml的时候,会告诉容器(凡是以layout为开头的属性,都是为用于告诉容器的),我们的宽度(layout_width).高度(layout_height).对齐方式(layout_gravity)等:当然还有margin等:于是乎,ViewGroup的职能为:给childView计算出建议的宽和高和测量模式 :决定childView的位置:为什么只是建议的

Android应用开发中自定义ViewGroup视图容器的教程

一.概述 在写代码之前,我必须得问几个问题: 1.ViewGroup的职责是啥? ViewGroup相当于一个放置View的容器,并且我们在写布局xml的时候,会告诉容器(凡是以layout为开头的属性,都是为用于告诉容器的),我们的宽度(layout_width).高度(layout_height).对齐方式(layout_gravity)等:当然还有margin等:于是乎,ViewGroup的职能为:给childView计算出建议的宽和高和测量模式 :决定childView的位置:为什么只是

Android自定义ViewGroup之实现FlowLayout流式布局_Android

整理总结自鸿洋的博客:http://blog.csdn.net/lmj623565791/article/details/38352503/  一.FlowLayout介绍  所谓FlowLayout,就是控件根据ViewGroup的宽,自动的往右添加,如果当前行剩余空间不足,则自动添加到下一行.有点像所有的控件都往左飘的感觉,第一行满了,往第二行飘~所以也叫流式布局.Android并没有提供流式布局,但是某些场合中,流式布局还是非常适合使用的,比如关键字标签,搜索热词列表等,比如下图:  gi

Android自定义ViewGroup之WaterfallLayout(二)_Android

上一篇我们学习了自定义ViewGroup的基本步骤,并做了一个CustomGridLayout的实例,这篇我们继续来说说自定义ViewGroup. Android中当有大量照片需要展示的时候,我们可以用GridView作为照片墙,但是GridView太整齐了,有时候不规则也是一种美,瀑布流模型就是这样一个不规则的展示墙,接下来我们尝试用自定义ViewGroup来实现瀑布流. 实现瀑布流的方式也有很多,下面我们一一道来: 一.继承ViewGroup 其实这种实现方式我们只需要在上篇博客的基础上稍作

Android应用开发中自定义ViewGroup的究极攻略_Android

支持margin,gravity以及水平,垂直排列最近在学习android的view部分,于是动手实现了一个类似ViewPager的可上下或者左右拖动的ViewGroup,中间遇到了一些问题(例如touchEvent在onInterceptTouchEvent和onTouchEvent之间的传递流程),现在将我的实现过程记录下来. 首先,要实现一个ViewGroup,必须至少重写onLayout()方法(当然还有构造方法啦:)).onLayout()主要是用来安排子View在我们这个ViewGr

android自定义 iew-有没有Android中自定义布局的详细教程!

问题描述 有没有Android中自定义布局的详细教程! 有没有Android中自定义布局的详细教程!我想写一个课程表布局,在网上找了几个demo,但是里面的自定义布局看不明白! 解决方案 Composite View Composite views (也被称为 compound views) 是众多将多个view结合成为一个可重用UI组件的方法中最简单的.这种方法的实现过程是这样的: 继承相关的内建的布局. 在构造函数里面填充一个 merge 布局. 初始化成员变量并通过 findViewByI

Android自定义viewgroup可滚动布局 GestureDetector手势监听(5)_Android

这篇效果和上一篇:http://www.jb51.net/article/100638.htm的效果是一样的,但是不再在OnTouchEvent中写代码,而是使用系统自带的类GestureDetector来监听手势以及滑动事件等等,它内置了滑动,点击,长按等事件,而且有快速滑动,比较方便,比自己写的细节处理要好. 代码: package com.example.libingyuan.horizontallistview.ScrollViewGroup; import android.conten

Android自定义viewgroup可滚动布局 GestureDetector手势监听(5)

这篇效果和上一篇:http://www.jb51.net/article/100638.htm的效果是一样的,但是不再在OnTouchEvent中写代码,而是使用系统自带的类GestureDetector来监听手势以及滑动事件等等,它内置了滑动,点击,长按等事件,而且有快速滑动,比较方便,比自己写的细节处理要好. 代码: package com.example.libingyuan.horizontallistview.ScrollViewGroup; import android.conten