自定义的ViewGroup中添加自定义View 造成的无法显示问题(个人)
首先说一下我在网上找了很久没有找到说明方法所以我就自己试着写了一下
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 造成的无法显示问题(个人)的更多相关文章
- ViewGroup onInterceptTouchEvent,ViewGroup onTouchEvent,View onTouchEvent执行顺序说明
今天抽出了一些时间实践了viewgroup和view的触摸事件顺序,之前也试过,总是忘记,今天记下笔记说明一下 首先 onInterceptTouchEvent只会出现在viewgroup中,view ...
- Databinding在自定义ViewGroup中如何绑定view
首先我们在平时开发中使用databinding的时候大部分都是在Activity或者fragment中,但我们一旦在自定义ViewGroup中使用的时候就会出现问题 问题描述: 我们在自定义Linea ...
- android开发中scrollview添加自定义view的滑动显示问题
最近做了一个实战用到自定义view,由于view比屏幕大所以想放到scrollview中,如下程序.发现不显示.于是对scrollview进行了研究. <LinearLayout xmlns:a ...
- android 自定义ViewGroup和对view进行切图动画实现滑动菜单SlidingMenu
示意图就不展示了,和上一节的一样,滑动菜单SlidingMenu效果如何大家都比较熟悉,在这里我简单说明一下用自定义ViewGroup来实现. 实现方法:我们自定义一个ViewGroup实现左右滑动, ...
- android 自定义ViewGroup和对view进行切图动画实现滑动菜单SlidingMenu[转]
http://blog.csdn.net/jj120522/article/details/8095852 示意图就不展示了,和上一节的一样,滑动菜单SlidingMenu效果如何大家都比较熟悉,在这 ...
- Android 中的View与ViewGroup
Android重点知识--View和ViewGroup与自定义控件 作者:丁明祥 邮箱:2780087178@qq.com 一.基础 ViewGroup 参考资料: Android 手把手教您自定义V ...
- 向集合中添加自定义类型--建议在自定义类型的时候要重写equals方法
package com.bjpowernode.t01list; import java.util.ArrayList; /* * 向集合中添加自定义类型 */public class TestLis ...
- android中实现view可以滑动的六种方法续篇(二)
承接上一篇,上一篇中讲解了实现滑动的第五种方法,如果你还没读过,可点击下面链接: http://www.cnblogs.com/fuly550871915/p/4985482.html 这篇文章现在来 ...
- android中实现view可以滑动的六种方法
在android开发中,经常会遇到一个view需要它能够支持滑动的需求.今天就来总结实现其滑动的六种方法.其实每一种方法的 思路都是一样的,即:监听手势触摸的坐标来实现view坐标的变化,从而实现vi ...
随机推荐
- [麦先生]初学Laravel框架与ThinkPHP框架的不同(2)
在经过了一段时间的开发后,我对Laravel框架的认识又在逐步的加深,对于这个世界占有量NO.1的框架... 我想说,我已经在逐步的感受到他的恐怖之处... 一.建表--Laravel在数据库建表上 ...
- ANSI Common Lisp Learn
It has been a long time that I haven't dealt with my blog. On one hand I was preparing the exams.On ...
- [tem]高精度2
从1开始 ; ; struct big{ int size,d[L]; big():size(a){memset(d,,sizeof(int)*L);} }; void jia(big &a, ...
- 内裤:DataTable转Model
public class ConvertHelper<T> where T : new() { /// <summary> /// 利用反射和泛型 /// </summa ...
- matlab FDR校正
http://home.52brain.com/forum.php?mod=viewthread&tid=27066&page=1#pid170857 http://www.mathw ...
- iis 发布MVC HTTP错误 403.14
1. 在web.config增加<modules runAllManagedModulesForAllRequests="true" /> 如:问题依然不能解决.报错貌 ...
- css3 box-sizing属性
个人总结: 如果需要兼容IE6 IE7,使用content-box.现在流行bootstrap3,需注意它使用的是border-box. box-sizing属性可以为三个值之一:content-bo ...
- 重构Web Api程序(Api Controller和Entity)续篇
昨天有写总结<重构Web Api程序(Api Controller和Entity)>http://www.cnblogs.com/insus/p/4350111.html,把一些数据交换的 ...
- 深度学习(deep learning)
最近deep learning大火,不仅仅受到学术界的关注,更在工业界受到大家的追捧.在很多重要的评测中,DL都取得了state of the art的效果.尤其是在语音识别方面,DL使得错误率下降了 ...
- WP8.1中C++的winodws运行时组件位移操作的差异
最近学习WP8.1应用开发,想把C语言的SM3国密算法移植到手机app中.由于把C语言的代码转换成C#代码工作量较大,因此只能用winodws运行时组件来实现. SM3国密算法是一种HASH算法,具体 ...