tv_btn_web.measure(0, 0);//计算所需的真实宽高
LayoutParams params=vp_btn_menu.getLayoutParams();
params.height=tv_btn_web.getMeasuredHeight();//得到计算后的真实高度
vp_btn_menu.setLayoutParams(params);

  

  

有时我真的真正的android高手不是对android的理论原理理解的多么深刻(感觉android还算好理解,好用),如果是android自带的东西,8天的视频几乎每个稍微有点java基础的都可以轻松入门。但是我却android非常非常难,8天入门的是理论,然而一旦上升到“实践高度”,且不说不同机型的适配,就连android自身的bug,坑都需要一步步的却踩,去填。。。感觉自己实践android的时候大部分的时间都在百度、google bug的 hack方法。就好像html、css都不难,但是如果考虑到兼容所有浏览器,那就呵呵呵了。。

个人觉得这种平台独有bug简直就是在浪费程序员的生命,因为并不能对整体技术提高。。。要不是android这么火,估计这些“坑”的经验是没有任何价值的,而且解决也更加困难。。

比如viewpaper设置wrap_content失效,初次一看真心怀疑是否能有解决方案,然后百度一大片的解决方案。。就知道不是自己一个人踩了这个坑了。,。

好了,吐槽了这么多,我想说的是根据百度结果,并没有完美的解决方案,目测暂时唯一的解决方法就是指定宽高,只不过在这里可以利用以前小技巧。想起当年收藏的解决listview scrollview嵌套问题时找到的计算高度的类里面用到了onmeasure方法,此方法只有linearlayout或者linearlayout的子类(比如tablelayout)调用才有效,因为只有linearlayout覆写了这个方法。。特别需要注意的是relativelayout调用是没有用的。

所以说了这么多,其实只要viewpaper的里面的view用linearlayout或者tablelayout就行了,如果实在要用Relativelayout就嵌套一个就行了。

android ViewPaper高度自适应的更多相关文章

  1. android设置GridView高度自适应,实现全屏铺满效果

    使GridView每个item的高度自适应拉伸,达到整个GridView刚好铺满全屏的效果. public static void setGridViewMatchParent(GridView gr ...

  2. Unity NGUI根据高度自适应屏幕分辨率

    Unity版本:4.5.1 NGUI版本:3.6.5 本文内容纯粹转载,转载保留参考链接和作者 参考链接:http://blog.csdn.net/asd237241291/article/detai ...

  3. 【聊技术】在Android中实现自适应文本大小显示

    本周的聊技术话题和大家说说如何在Android中实现自适应文本大小显示. 想象一下,在布局中,通常显示文本的区域大小是固定的,但是文本长度并不总是固定的.比如列表中的文章标题.界面下方的按钮文本等等. ...

  4. iOS开发之多种Cell高度自适应实现方案的UI流畅度分析

    本篇博客的主题是关于UI操作流畅度优化的一篇博客,我们以TableView中填充多个根据内容自适应高度的Cell来作为本篇博客的使用场景.当然Cell高度的自适应网上的解决方案是铺天盖地呢,今天我们的 ...

  5. iframe高度自适应(同域)

    今天解决了iframe高度自适应的问题,不过这只是同域下的页面嵌入,以下是代码: function SetCwinHeight(){ var iframeid = document.getElemen ...

  6. div仿textarea使高度自适应

    今天真的有些无语,在百度上找了很多关于textarea和input高度自适应的代码,并且考虑到了要判断textarea的滚动条,从而动态改变它的高度,直到我搜索了这个让我目瞪狗呆的办法…… <d ...

  7. 【代码笔记】iOS-UILable高度自适应(sizeWithFont)

    一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...

  8. [转载]跨域iframe高度自适应

    场景: 经常会有这样的需求,跟外部合作伙伴合作,要嵌入别人的页面,这时候就需要高度自适应了,在这种跨域的情况下如何解决呢? 解决: 在iframe(合作伙伴的页面,称为P页面)中创建一个隐藏的ifra ...

  9. css经典布局——头尾固定高度中间高度自适应布局

    转载:穆乙 http://www.cnblogs.com/pigtail/ 相信做过后台管理界面的同学,都非常清楚这个布局.最直观的方式是框架这个我不想多写费话,因为我们的重心不在这里.如果有不了解的 ...

随机推荐

  1. PHP开发大型项目的一点经验

    一.变量 最好是把所有的变量存储在一个数组中,这样在程序的开发中可以带来很多的方便,特别是当程序很大的时候.变量的命名就当适合自己的习惯,不管是用拼音还是英语,至少应当有一定的意义,以便适合记忆.变量 ...

  2. VS2013添加NuGet的方法

    1.工具->扩展和更新->联机 2.右上角搜索框搜索NuGet,选择NuGet Package Manager for Visual Studio 2013,安装后重启VS 下面通过添加N ...

  3. Widnows批处理异地备份数据

    @echo off@title Mysql+fileBckupset files=D:\backup\%date:~0,10%.rarset userdb="root"set pw ...

  4. IOS基础——实例变量四种范围类型

    1.为了强制一个对象隐藏其数据,编译器限制实例变量范围以限制其在程序中的可见性. 但是为了提供灵活性,苹果也让开发者显示设置范围(四选一). 2.四种编译指令如下: @private 实例变量只能被声 ...

  5. encodeURIComponent编码后java后台的解码

    解决方法一: JavaScript: window.self.location="searchbytext.action?searchtext="+encodeURICompone ...

  6. WordPress 主题开发 - (十二) Search模板与Page模板 待翻译

    The Search Template and The Page Template are vital to any complete WordPress Theme. And they're bot ...

  7. mybatis使用笔记

    关于动态SQL里的条件查询(if test): 1.lombok插件和mybatis插件在有些变量名下会冲突,比如一个变量为rType的字段,lombok插件认为应该是getRType,但是mybat ...

  8. php使用swoole实现一个简单的多人在线聊天群发

    聊天逻辑的好多细节没有实现,只实现群发. php代码: $serv = new swoole_websocket_server("127.0.0.1",3999); //服务的基本 ...

  9. OJ推荐【转】

    来自:http://blog.csdn.net/zdp072/article/details/16207111 一. Online Judge简介: Online Judge系统(简称OJ)是一个在线 ...

  10. 自定义DatePicker,年月日,不显示其中某几项

    经过源码研究:该结构主要包含三个NumberPicker: private final NumberPicker mDayPicker; private final NumberPicker mMon ...