首先说一下我在网上找了很久没有找到说明方法所以我就自己试着写了一下

1、我自定义了一个继承了RelativeLayout的ViewGroup

java代码如下:

/**
* 简单自定义三头像
* @author M.Z
*/
public class MyGroupHeaderImg extends RelativeLayout { public MyGroupHeaderImg(Context context, AttributeSet attrs) {
super(context, attrs);
this.mContext = context;
mView = inflate(context, R.layout.view_group_head_img,this);
initView();
} public MyGroupHeaderImg(Context context, AttributeSet attrs, int defStyle) {
this(context, attrs);
} private Context mContext; private CircleProgressBar firstImg,scendImg,threeImg; private View mView;
/**
* 初始化
*/
private void initView() {
firstImg = (CircleProgressBar) mView.findViewById(R.id.first_ivAvator);
scendImg = (CircleProgressBar) mView.findViewById(R.id.scend_ivAvator);
threeImg = (CircleProgressBar) mView.findViewById(R.id.three_ivAvator);
} /**
* 设置Url
* @param avatorUrls
*/
public void setAvatorArray(String[] avatorUrls){ VocImageLoader.getInstance().displayImage(avatorUrls[0],
firstImg, MyDisplayImageOptions.getAvatorImageOption(),
null, null); VocImageLoader.getInstance().displayImage(avatorUrls[1],
scendImg, MyDisplayImageOptions.getAvatorImageOption(),
null, null); VocImageLoader.getInstance().displayImage(avatorUrls[2],
threeImg, MyDisplayImageOptions.getAvatorImageOption(),
null, null);
}
}

xml布局如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:circleBar="http://schemas.android.com/apk/res/com.iflytek.vocation_edu_cloud"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@android:color/transparent"> <com.iflytek.voc_edu_cloud.view.CircleProgressBar
android:id="@+id/scend_ivAvator"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignRight="@+id/first_ivAvator"
android:layout_alignTop="@+id/first_ivAvator"
android:layout_marginRight="19dp"
android:layout_marginTop="32dp"
android:contentDescription="@string/app_name"
circleBar:border_color="@color/white"
circleBar:border_progress="100"
circleBar:border_width="1dp"
circleBar:inner_border_color="#ffffff"
circleBar:one_src="@drawable/defult_avatar" /> <com.iflytek.voc_edu_cloud.view.CircleProgressBar
android:id="@+id/three_ivAvator"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignLeft="@+id/first_ivAvator"
android:layout_alignTop="@+id/scend_ivAvator"
android:layout_marginLeft="21dp"
android:contentDescription="@string/app_name"
circleBar:border_color="@color/white"
circleBar:border_progress="100"
circleBar:border_width="1dp"
circleBar:inner_border_color="#ffffff"
circleBar:one_src="@drawable/defult_avatar" /> <com.iflytek.voc_edu_cloud.view.CircleProgressBar
android:id="@+id/first_ivAvator"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerHorizontal="true"
android:contentDescription="@string/app_name"
circleBar:border_color="@color/white"
circleBar:border_progress="100"
circleBar:border_width="1dp"
circleBar:inner_border_color="#ffffff"
circleBar:one_src="@drawable/defult_avatar" /> </RelativeLayout>

因为我布局自定义的ViewGroup中包含了一个自定义的View,而且有个xmlns:circleBar="http://schemas.android.com/apk/res/com.iflytek.vocation_edu_cloud"

导致我在调用的时候 是一片空白调用的xml如下:

<com.iflytek.voc_edu_cloud.view.MyGroupHeaderImg
android:id="@+id/member_item_ivAvator"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_alignParentLeft="true"
android:contentDescription="@string/app_name"
/>

解决方法:

  要解决不显示的问题也很简单就是在调用的地方加上这句  xmlns:circleBar="http://schemas.android.com/apk/res/com.iflytek.vocation_edu_cloud"如下:

<com.iflytek.voc_edu_cloud.view.MyGroupHeaderImg
xmlns:circleBar="http://schemas.android.com/apk/res/com.iflytek.vocation_edu_cloud"
android:id="@+id/member_item_ivAvator"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_alignParentLeft="true"
android:contentDescription="@string/app_name"
/>

之后就可以正常的使用了.

自定义的ViewGroup中添加自定义View 造成的无法显示问题(个人)的更多相关文章

  1. ViewGroup onInterceptTouchEvent,ViewGroup onTouchEvent,View onTouchEvent执行顺序说明

    今天抽出了一些时间实践了viewgroup和view的触摸事件顺序,之前也试过,总是忘记,今天记下笔记说明一下 首先 onInterceptTouchEvent只会出现在viewgroup中,view ...

  2. Databinding在自定义ViewGroup中如何绑定view

    首先我们在平时开发中使用databinding的时候大部分都是在Activity或者fragment中,但我们一旦在自定义ViewGroup中使用的时候就会出现问题 问题描述: 我们在自定义Linea ...

  3. android开发中scrollview添加自定义view的滑动显示问题

    最近做了一个实战用到自定义view,由于view比屏幕大所以想放到scrollview中,如下程序.发现不显示.于是对scrollview进行了研究. <LinearLayout xmlns:a ...

  4. android 自定义ViewGroup和对view进行切图动画实现滑动菜单SlidingMenu

    示意图就不展示了,和上一节的一样,滑动菜单SlidingMenu效果如何大家都比较熟悉,在这里我简单说明一下用自定义ViewGroup来实现. 实现方法:我们自定义一个ViewGroup实现左右滑动, ...

  5. android 自定义ViewGroup和对view进行切图动画实现滑动菜单SlidingMenu[转]

    http://blog.csdn.net/jj120522/article/details/8095852 示意图就不展示了,和上一节的一样,滑动菜单SlidingMenu效果如何大家都比较熟悉,在这 ...

  6. Android 中的View与ViewGroup

    Android重点知识--View和ViewGroup与自定义控件 作者:丁明祥 邮箱:2780087178@qq.com 一.基础 ViewGroup 参考资料: Android 手把手教您自定义V ...

  7. 向集合中添加自定义类型--建议在自定义类型的时候要重写equals方法

    package com.bjpowernode.t01list; import java.util.ArrayList; /* * 向集合中添加自定义类型 */public class TestLis ...

  8. android中实现view可以滑动的六种方法续篇(二)

    承接上一篇,上一篇中讲解了实现滑动的第五种方法,如果你还没读过,可点击下面链接: http://www.cnblogs.com/fuly550871915/p/4985482.html 这篇文章现在来 ...

  9. android中实现view可以滑动的六种方法

    在android开发中,经常会遇到一个view需要它能够支持滑动的需求.今天就来总结实现其滑动的六种方法.其实每一种方法的 思路都是一样的,即:监听手势触摸的坐标来实现view坐标的变化,从而实现vi ...

随机推荐

  1. Qt5 发布的exe应用程序Windows下无法执行的问题解决方案

    本解决方案着重解决报错为: This application has requested the Runtime to terminate it in an unusual way. 的错误. 即: ...

  2. NOIP2012pj文化之旅[floyd]

    描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次,即如果他学习了某种文化,则他就不能到达其他有这种文化的国家.不同的国家可能有相同的文化.不同文化的国家 ...

  3. NOIP2015跳石头[二分答案]

    题目背景 一年一度的“跳石头”比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选 择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 N 块岩石( ...

  4. 能跨域和跨浏览器的flashcookie for jquery插件

    对于写网站时需要跨域和跨浏览器的可以看看这个. 引入jquery  和 swfstore.min.js 就可以了,蛮简单好用的,会jquery基础就可以咯. mySwfStore.set('myKey ...

  5. android 下载文件

    import com.example.android.R; import android.app.Activity;import android.os.Bundle;import android.os ...

  6. BZOJ 1408: [Noi2002]Robot

    1408: [Noi2002]Robot Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 510  Solved: 344[Submit][Status][ ...

  7. ONS C++ Windows SDK 调试方法及注意事项

    此文将展示ONS C++ Windows SDK 整个调试过程,笔者直接使用sdk包中的example消息发送示例代码,开发环境为win7, 64位,Visual Studio Professiona ...

  8. CentOS 6.4 下安装vsftpd

    概述: vsftpd是Linux下比较著名的FTP服务器,搭建FTP服务器当然首选这个. 本文介绍了在CentOS 6.4下安装vsftpd.配置虚拟用户登录FTP的过程. 正文: 一:安装vsftp ...

  9. Apache Rewrite 拟静态配置

    1.mod_rewrite 简介和配置 Rewirte主要的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范.平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等 2.mod_ ...

  10. 【转】mysql触发器的实战(触发器执行失败,sql会回滚吗)

    1   引言Mysql的触发器和存储过程一样,都是嵌入到mysql的一段程序.触发器是mysql5新增的功能,目前线上凤巢系统.北斗系统以及哥伦布系统使用的数据库均是mysql5.0.45版本,很多程 ...