Android 布局 ViewGroup】的更多相关文章

布局 res/layout 命名规则(全部小写) activity_ fragment_ item_ 基础组件 com.android.widget包下 父类View view:屏幕上一块矩阵区域 能在xml中设置的都是view,除了特殊标签. 引用使用@符号 1.background:@drawable引用图片  @android:color引用颜色 2.android:clickable可以响应点击事件 3.android:id 每一个组件都可以设置一个在当前xml中唯一的id号,使用@+i…
先上效果图: 实现这样的效果: 一般的思路就是,直接写布局文件,用LinearLayout 嵌套多层子LinearLayout,然后根据权重layout_weight可以达到上面的效果 还有就是利用gridview了,但是这里的需求就是不能上下滑动,使用gridview的时候还要计算布局的高度,否则内容超出下滑: 开始我是用的第一种,直接在布局文件实现了,但是后来发现代码太多太恶心哦,所以我继承viewGroup,重写两个关键的方法:onLayout(),onMeasure() 我的大致思路:…
学习<Android开发艺术探索>中自定义ViewGroup章节 自定义ViewGroup总结的知识点 一.自定义ViewGroup中,onMeasure理解 onMeasure(int widthMeasureSpec,int heightMeasureSpec); 需要进行补充的逻辑 1.对布局设置为wrap_content的兼容,具体查看下一篇日志的构建MeasureSpec的方法 最终实现是在onMeasure(...)方法中对LayoutParams设置为wrap_content的实…
LinerLayout线性布局: 这种布局方式是指在这个里面的控件元素显线性,我们可以通过setOrientation(int orientation)来指定线性布局的显示方式,其值有:HORIZONTAL(0).VERTICAL(1).默认为HORIZONTAL.与之相关的我们也可以在布局文件中通过android:orientation来指定.同理,其值也有:horizontal.vertical LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排…
ViewStub是Android布局优化中一个很不错的标签/控件,直接继承自View.虽然Android开发人员基本上都听说过,但是真正用的可能不多. ViewStub可以理解成一个非常轻量级的View,与其他的控件一样,有着自己的属性及特定的方法.当ViewStub使用在布局文件中时,当程序inflate布局文件时,ViewStub本身也会被解析,且占据内存控件,但是与其他控件相比,主要区别体现在以下几点: 1.当布局文件inflate时,ViewStub控件虽然也占据内存,但是相相比于其他控…
先看效果图吧, 继上一篇<android自定义viewgroup实现等分格子布局>中实现的布局效果,这里稍微有些区别,每个格子的高度不规则,就是传说的瀑布流布局,一般实现这种效果,要么用第三方控件,如果不是加载图片还可以直接写在xml中实现,不过代码会很多的: 下面我重写了viewgroup,实现onMeasure,onLayout方法,动态设置每个布局的高度,这里有一个小的技巧,一般我们自定义的控件,嵌套在scrollview中显示不全,这个问题也纠结我一小会,不过当你打开scrollvie…
Android 布局之GridLayout 1 GridLayout简介 GridLayout是Android4.0新提供的网格矩阵形式的布局控件. GridLayout的继承关系如下:java.lang.Object  --> android.view.View    --> android.view.ViewGroup      --> android.widget.GridLayout GridLayout包含的属性如下: android:alignmentMode属性说明:当设置…
转载自:http://www.cnblogs.com/lqminn/archive/2013/01/23/2866543.html 一个Viewgroup基本的继承类格式如下: import android.content.Context; import android.view.ViewGroup; public class MyViewGroup extends ViewGroup{ public MyViewGroup(Context context) { super(context);…
E/AndroidRuntime( 1900): java.lang.StackOverflowError E/AndroidRuntime( 1900):     at android.graphics.Canvas.drawText(Canvas.java:1269) E/AndroidRuntime( 1900):     at android.text.Layout.draw(Layout.java:337) E/AndroidRuntime( 1900):     at android…
示意图就不展示了,和上一节的一样,滑动菜单SlidingMenu效果如何大家都比较熟悉,在这里我简单说明一下用自定义ViewGroup来实现. 实现方法:我们自定义一个ViewGroup实现左右滑动,第一屏隐藏,第二屏显示. 代码如下: package com.jj.sliding_6; import android.content.Context; import android.util.AttributeSet; import android.util.Log; import android…