layout-android 中 继承ViewGroup的问题。

问题描述

android 中 继承ViewGroup的问题。

我自己写了一个控件mylayout继承frameLayout.

里头有一个imageView 和一个 textView .

我新建一个Activity 在其Layout里头 addView(mylayout) ;
控件可以正常显示。

但是我新建一个类mygroup 继承 ViewGroup。
在mygroup里头的构造函数 addView(mylayout)。
只能显示出framelayout 不能显示出 imageView 和 textView.

大神们! 求教!

解决方案

首先你要了解的是自定义的ViewGroup和自定义View的区别!!
第一View是所有UI组件的基类。
第二ViewGroup是容纳这些组件的容器,当然ViewGroup本身也是继承自View的。
正如你上面所说的,你新建一个类mygroup 继承 ViewGroup那么你需要测量你的ViewGroup的真实容器的宽度和高度;
或者是说你可以循环遍历所有的子View的大小然后测量出真正的容器大小。然后你可以让其正常显示,又或者你可以重新进行layout布局。
看不懂的话,可以回复我,我会再回复你的

解决方案二:

你要把你的空间addview到framelayout里,然后把framelayoutaddview到mygroup里

解决方案三:

在构造函数里addview是不行的,因为创建构造函数的时候FrameLayout还没有加载呢,所以自然就看不到ImageView和TextView

解决方案四:

LayoutInflater.from(context).inflate(R.layout.my_framelayout, this) 者菊花没意义啊
你应该 view a = LayoutInflater.from(context).inflate(R.layout.my_framelayout, this,false);
addview(a);

解决方案五:

我自己写了一个控件mylayout继承frameLayout.
里头有一个imageView 和一个 textView .
我新建一个Activity 在其Layout里头 addView(mylayout) ;
控件可以正常显示。
——》》这个前提可以知道你的自定义mylayout大致方向没有写错,其实里面可能你也没写啥东西,仅仅是addView而已

但是我新建一个类mygroup 继承 ViewGroup。
在mygroup里头的构造函数 addView(mylayout)。
只能显示出framelayout 不能显示出 imageView 和 textView.
大神们! 求教!
——》》addView(mylayout)后只显示parentView而不显示childView
原因可能有:
1、parentView的onlayout方法写的不怎么完全正确,例如只考虑到了正常的传入MeaSureSpec,检查你的lolayout方法
2、直接在mygroup里头的构造函数 addView(mylayout),其LayoutPamas可能没设置,是一个初始值。导致parentView传给childView时的meaSureSpec的值让其测量是0不显示。。。

时间: 2016-05-12

layout-android 中 继承ViewGroup的问题。的相关文章

深入理解Android中View和ViewGroup

深入理解Android中View 这回我们是深入到View内部,去研究View,去了解View的工作,抛弃其他因素,以便为以后能灵活的使用自定义空间打下一定的基础.希望有志同道合的朋友一起来探讨,深入Android内部,深入理解Android. 一.View是什么? View是什么了,每个人都有自己的理解.在Android的官方文档中是这样描述的:这个类表示了用户界面的基本构建模块.一个View占用了屏幕上的一个矩形区域并且负责界面绘制和事件处理.View是用来构建用户界面组件(Button,T

Android自定义控件之继承ViewGroup创建新容器

欢迎大家来学习本节内容,前几节我们已经学习了其他几种自定义控件,分别是Andriod 自定义控件之音频条及 Andriod 自定义控件之创建可以复用的组合控件还没有学习的同学请先去学习下,因为本节将使用到上几节所讲述的内容. 在学习新内容之前,我们先来弄清楚两个问题: 1 . 什么是ViewGroup? ViewGroup是一种容器.它包含零个或以上的View及子View. 2 . ViewGroup有什么作用? ViewGroup内部可以用来存放多个View控件,并且根据自身的测量模式,来测量

从源码解析Android中View的容器ViewGroup

这回我们是深入到ViewGroup内部\,了解ViewGroup的工作,同时会阐述更多有关于View的相关知识.以便为以后能灵活的使用自定义空间打更近一步的基础.希望有志同道合的朋友一起来探讨,深入Android内部,深入理解Android. 一.ViewGroup是什么?        一个ViewGroup是一个可以包含子View的容器,是布局文件和View容器的基类.在这个类里定义了ViewGroup.LayoutParams类,这个类是布局参数的子类. 其实ViewGroup也就是Vie

Android中使用自定义ViewGroup的总结

分类 自定义Layout可以分为两种情况. 自定义ViewGroup,创造出一些不同于LinearLayout,RelativeLayout等之类的ViewGroup.比如:API 14以后增加的GridLayout.design support library中的CoordinatorLayout等等. 自定义一些已经有的Layout然后加一些特殊的功能.比如:TableLayout以及percent support library中的PercentFrameLayout等等. 流程 自定义V

android UI进阶之android中隐藏的layout 抽屉的使用方法_Android

最近在写一个应用,想把设置页面和应用页面放在一起,这样就能实现用户可以实时看到自己的设置对UI的影响,从而更方便的设置用户喜欢的界面.想了一段时间,发现用slidingDrawer这个控件可以实现这个效果.也就是一个抽屉.拉开抽屉,占据半个屏幕,另外半个屏幕还是显示应用页面.效果还是不错的. 今天就和大家分享一下android中这个抽屉效果.其实在android的lanucher就是一个抽屉,打开它就可以看到安装的应用.相信大家都见过用过.下面我们就来做个相同的效果,当然只是UI上差不多相同的效

android 中 include layout 的问题

问题描述 android 中 include layout 的问题 程序中的 layout 代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="

android 中的 main layout 和 categories

问题描述 android 中的 main layout 和 categories 在 main layout 中我使用: <PreferenceCategory android:summary="@string/menu_language_settings" android:title="@string/menu_language_settings" > 现在我只使用: <LinearLayout xmlns:android="http:

Android中layout属性大全_Android

本文总结了Android中layout属性的含义与用法.分享给大家供大家参考.具体如下: 布局: AbsoluteLayout(绝对布局): xmlns:android="http://scmemas.android.com/apk/res/android" style="@..." android:clipChildren="true|false" android:clipToPadding="true|false" and

Android中我继承了View,为什么访问不了View中的protected属性,例如Scrollx什么的~

问题描述 Android中我继承了View,为什么访问不了View中的protected属性,例如Scrollx什么的~ 问题补充:renpeng301 写道 解决方案 BubbleTextView.Java 这个文件出错么?调试launcher的文章[url]http://gqdy365.iteye.com/blog/763543[/url]解决方案二:引用主要我是从code.google上下的系统Launcher的源代码~那我怎么才能把它弄好~~ 用Scrollx的get方法.解决方案三:查