Android自定义LinearLayout布局显示不完整的解决方法

 更新时间:2017年11月15日 10:41:56   作者:请叫我财迷  
这篇文章主要给大家介绍了关于Android自定义LinearLayout但布局显示不完整的解决方法,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

发现问题

原需求,在一个伸缩列表中,自定义LinearLayout继承LinearLayout动态添加布局。


然而实现的时候:一共遍历了30条数据,却只显示了一条


断点查看代码:遍历addView()这个过程是正常的30次循环。那是布局的问题?


感觉没毛病。。。试着在自定义布局外层再加一层LinearLayout垂直方向,wrap_content和match_parent?都试了依旧无效


毛发都被抓掉了好几根

只能谷歌,找度娘了

终于翻到这个Android - 自定义View不显示,非常感谢作者~

Android - 自定义View不显示

说明:

自定义了一个LinearLayout,显示不出来

原因是必须有

public ManDaoH5View(Context context, AttributeSet attrs) { 

这个方法是自定义LinearLayout初始化调用的方法,LinearLayout自己的属性也必须写再这个方法里面否则属性也会不起作用,例如:setOrientation(VERTICAL);

代码:

public class ManDaoH5View extends LinearLayout { 
 
  public ManDaoH5View(Context context, AttributeSet attrs) {//这个方法必须有,否则自定义的LinearLayout不会显示 
    super(context, attrs); 
    setOrientation(VERTICAL);//水平排布(自身布局属性必须写在这里,写在别的地方会不起作用) 
    //initChild(context, url);//这一行不要加,别的地方引用这个布局,就会运行这个方法,此时webview还没有连接,会出错 
  } 
} 

解决方案两种!

一:布局文件中添加。。。自定义的LinearLayout也是Liearlayout呀,怎么能把它的方向忘了呢?


二:在构造方法中添加:

如果你是直接new这个自定义View就在一个参数的构造方法添加;如果你是在xml中引用这个自定义view便在两个参数的构造方法中引用;三参数的构造方法忘记是什么情况调用了(o(╯□╰)o)

setOrientation(VERTICAL);

后记:前面的在xml中再嵌套一层布局,曾经解决过这个问题,所以虽然这次没解决问题也写了出来。可能那时候继承的是view或其他的,所以如果有伙伴在构造中或xml加了方向的属性不起作用可以试试这个。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Android打开GPS导航并获取位置信息返回null解决方案

    Android打开GPS导航并获取位置信息返回null解决方案

    最近在做一个 Android 项目,需要用到GPS获取位置信息,从 API 查了一下,发现获取位置信息仅需极其简单的一句即可getLastKnownLocation(LocationManager.GPS_PROVIDER)郁闷的是一直为null,于是搜集整理下,晒出来与大家分享
    2013-01-01
  • 详解Android开发之MP4文件转GIF文件

    详解Android开发之MP4文件转GIF文件

    这篇文章介绍的是将录下来的视频选取一小段转为 GIF 文件,不仅时间段可以手动选取,而且还需要支持截取视频的局部区域转为 GIF,网上调研了一下技术方案,觉得还是有必要把实现过程拿出来分享下,有需要的可以直接拿过去用。下面来一起看看。
    2016-08-08
  • android WebView组件使用总结

    android WebView组件使用总结

    浏览器控件是每个开发环境都具备的,这为马甲神功提供了用武之地,windows的有webbrowser,android和ios都有webview;本篇主要介绍android的webview之强大,感兴趣的朋友可以研究下
    2012-12-12
  • OpenGL ES透视投影实现方法(四)

    OpenGL ES透视投影实现方法(四)

    这篇文章主要为大家详细介绍了OpenGL ES透视投影的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Android实现层叠卡片式banner

    Android实现层叠卡片式banner

    这篇文章主要为大家详细介绍了Android实现层叠卡片式banner,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • Android实现夜间模式切换功能实现代码

    Android实现夜间模式切换功能实现代码

    现在很多App都有夜间模式,特别是阅读类的App,夜间模式现在已经是阅读类App的标配,本篇文章主要介绍了Android实现夜间模式功能实现代码,有兴趣的可以了解一下。
    2017-03-03
  • Mac OS下为Android Studio编译FFmpeg解码库的详细教程

    Mac OS下为Android Studio编译FFmpeg解码库的详细教程

    这篇文章主要介绍了Mac OS下为Android Studio编译FFmpeg解码库的详细教程,包括NDK的配置和Android Studio的配置两个部分的内容,需要的朋友可以参考下
    2016-01-01
  • android自定义等级评分圆形进度条

    android自定义等级评分圆形进度条

    这篇文章主要为大家详细介绍了android自定义等级评分圆形进度条,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • Kotlin中常见内联扩展函数的使用方法教程

    Kotlin中常见内联扩展函数的使用方法教程

    在Kotlin中,使用inline修饰符标记内联函数,既会影响到函数本身, 也影响到传递给它的Lambda表达式,这两者都会被内联到调用处。下面这篇文章主要给大家介绍了关于Kotlin中常见内联扩展函数的使用方法,需要的朋友可以参考下。
    2017-12-12
  • Android自定义View实现拖动选择按钮

    Android自定义View实现拖动选择按钮

    这篇文章主要为大家详细介绍了Android自定义View实现拖动选择按钮的具体代码,感兴趣的小伙伴们可以参考一下
    2016-05-05

最新评论