Android_自定义view设置控件位置
来源:互联网 发布:软件专利范文 编辑:程序博客网 时间:2024/05/23 01:16
一:布局
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="activity.example.com.baikaijun20171104.FlowActivity"> <activity.example.com.baikaijun20171104.view.MyView android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:background="#619EA0" android:layout_width="120dp" android:layout_height="50dp" /> <TextView android:background="#7561A0" android:layout_width="120dp" android:layout_height="50dp" /> <TextView android:background="#9FA061" android:layout_width="120dp" android:layout_height="50dp" /> </activity.example.com.baikaijun20171104.view.MyView></RelativeLayout>
二:创建类,继承ViewGroup
public class MyView extends ViewGroup{ public MyView(Context context) { this(context,null); } public MyView(Context context, AttributeSet attrs) { this(context, attrs,0); } public MyView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); //测量自己子类控件的宽度 measureChildren(widthMeasureSpec,heightMeasureSpec); } @Override protected void onLayout(boolean b, int i, int i1, int i2, int i3) { //获取子控件的数量 int count = getChildCount(); //设置默认起始值 int startWidth = 0; int startHeight = 0; //循环遍历子控件 for (int j = 0; j < count; j++) { //取出每一条子视图 View v = getChildAt(j);// 注释部分可实现流式布局,内容满之后换行// if(startWidth+v.getMeasuredWidth()>getMeasuredWidth())// {// startHeight+=v.getMeasuredHeight();// startWidth = 0;// } //给每一个子视图设置定位 v.layout(startWidth,startHeight,startWidth+v.getMeasuredWidth(),startHeight+v.getMeasuredHeight()); startWidth+=v.getMeasuredWidth(); startHeight+=v.getMeasuredHeight(); } }}
阅读全文
1 0
- Android_自定义view设置控件位置
- Android_自定义View
- android_自定义折叠View
- Android_自定义View拖拽重绘
- Android_自定义删除View
- Android_自定义倒计时View
- Android_自定义签到View
- Android_自定义波纹view
- Android_自定义View、Fragment
- Android_自定义控件
- Android_自定义控件样式
- Android_自定义控件
- Android_自定义控件_HorizontalListView
- Android_自定义控件之设置文本的大小
- Android_自定义View测量模式
- Android_自定义view动画按钮
- Android_自定义切换控件SwitchView
- Android_自定义控件简单入门
- 简单搜索(一)之 棋盘问题
- gnuplot中的画布尺寸set size
- 杨辉三角 presentation error
- 数据结构专题——栈与队列之栈的应用(一)
- JavaScript实现数字金额小写变大写(一)
- Android_自定义view设置控件位置
- 测试组自动化解决方案论述
- JavaScript实现数字金额小写变大写(二)
- 计算机网络简介
- HDU 2053 Switch Game(简洁一点)
- Pthon高级编程——10.內建属性和內建函数
- 第8章 Ajax(Jquery、Ajax辅助方法、客户端验证)
- ArcGISEngine二次开发(1):系统基本功能
- 超全的深度剖析内存系列——1.相关的计算机基础知识