在Android中,可以自定义类,继承ViewGroup等容器类,以实现自己需要的布局显示。
来源:互联网 发布:23周胎儿发育标准数据 编辑:程序博客网 时间:2024/04/28 03:49
在Android中,可以自定义类,继承ViewGroup等容器类,以实现自己需要的布局显示。
如果你在ViewGroup中增加了控件,却无法显示出来,那么下面这个例子,就可以用来参考了。
(主要是要实现onLayout()方法,在这个方法中,对每个子控件进行measure(),然后再布局。)
[java] view plaincopyprint?
- package com.arui;
- import android.content.Context;
- import android.util.Log;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.Button;
- /**
- * Example for using ViewGroup.
- *
- * @author http://blog.csdn.net/arui319
- * @version 2010/09/07
- *
- */
- public class MyViewGroup extends ViewGroup {
- public MyViewGroup(Context context) {
- super(context);
- this.initOtherComponent(context);
- }
- private void initOtherComponent(Context context) {
- Button aBtn = new Button(context);
- // set id 1
- aBtn.setId(1);
- aBtn.setText("a btn");
- this.addView(aBtn);
- Button bBtn = new Button(context);
- // set id 2
- bBtn.setId(2);
- bBtn.setText("b btn");
- this.addView(bBtn);
- }
- @Override
- protected void onLayout(boolean changed, int l, int t, int r, int b) {
- int childCount = getChildCount();
- for (int i = 0; i < childCount; i++) {
- View child = getChildAt(i);
- switch (child.getId()) {
- case 1:
- // 1 is aBtn
- Log.d("MyViewGroup", "btn1 setting");
- child.setVisibility(View.VISIBLE);
- child.measure(r - l, b - t);
- child.layout(0, 0, child.getMeasuredWidth(), child
- .getMeasuredHeight());
- break;
- case 2:
- // 2 is bBtn
- Log.d("MyViewGroup", "btn2 setting");
- child.setVisibility(View.VISIBLE);
- child.measure(r - l, b - t);
- child.layout(0, 50, child.getMeasuredWidth(), child
- .getMeasuredHeight() + 50);
- break;
- default:
- //
- }
- }
- }
- }
- 在Android中,可以自定义类,继承ViewGroup等容器类,以实现自己需要的布局显示。
- 自定义view,继承ViewGroup实现可换行的布局容器
- Android自定义ViewGroup(四、打造自己的布局容器)
- android 继承ViewGroup实现自定义布局
- 继承ViewGroup的自定义类
- 继承ViewGroup的自定义类
- Android进阶——自定义View之继承ViewGroup实现自己的ScrollView
- TabActivity可以显示实现多页显示效果,在xml布局文件中需要有一些特殊的配置属性
- Android中ViewGroup等容器控件的使用
- Android中ViewGroup等容器控件的使用
- Android中ViewGroup等容器控件的使用
- Android中ViewGroup等容器控件的使用
- Android自定义viewgroup实现自定义布局
- Android自定义ViewGroup之流式布局的实现
- 探究Android中通过继承ViewGroup自定义控件的原理
- 探究Android中通过继承ViewGroup自定义控件的原理
- 【自定义控件】自定义ViewGroup 在ViewGroup中显示TextView
- android自定义viewgroup实现等分格子布局
- 学习ListView
- 我的vim配置
- 西安市区施工围挡50处 遇严重拥堵公交可绕行缩线
- Silverlight性能优化纪要
- 关于 Xcode:this class is not key value coding-compliant for the key
- 在Android中,可以自定义类,继承ViewGroup等容器类,以实现自己需要的布局显示。
- 设置自己的电脑为无线路由器(win7)
- 关于 23 种设计模式的有趣见解
- C++拷贝构造函数(深拷贝,浅拷贝)
- android之自定义ViewGroup和自动换行的布局的实现
- HDU 1319 Prime Cuts
- 右键CMD打开文件
- 600、215、611、K618路等34条线路适时增开区间车
- 高质量程序设计指南-c/c++语言:笔记2