View的使用和学习(一)

学习链接

http://blog.csdn.net/guolin_blog/article/details/12921889

我的笔记

1, 什么是LayoutInflater

先来看构造方法  LayoutInflater flater = LayoutInflater.from(context)   这里的这个参数说的就是获得这个activity的LayoutInflater

比如我有一个button的XML文件,我要构造出来这个BUTTON的 view

就这样做  Button button1 = flater.inflate(R.layout.button_activity,null) 第一个参数是sourceId构造哪一个的的XMLView,第二个是父文件,这里写的Nul啦。就是没有

2,如何通过LayoutInflater向一个布局文件里添加这个button

LinearLayout linearLayout = (LinearLayout) findViewById(R.id.container);

获得了这个布局文件的ID。

然后添加这个button 进去  linearLayout.addView(button)

3,重点。

添加button后,无论如何修改button的layout_width或者layout_height。都不能够改变button的样式。

这是因为View的大小是要根据其所在的Layout才能测定的。当我加上了一个Framelayout后,就能够轻松的修改它的高度和宽度了

问题:为什么直接设定一个main_activity可以布局它的大小?

回答:这个main_activity其实是有一个默认的FramLayout包裹在外面的。

看代码测试

public class MainActivity extends Activity {

private LinearLayout mainLayout;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mainLayout = (LinearLayout) findViewById(R.id.main_layout);
ViewParent viewParent = mainLayout.getParent();
Log.d("TAG", "the parent of mainLayout is " + viewParent);
}

}

结果:the parent of mainLayout is  android.widget....

可以看到的确是有这个东西存在的

时间: 2024-12-14 18:12:59

View的使用和学习(一)的相关文章

Android 使用NDK处理BItmap及如何通过C/C++直接控制View的suface显示,学习笔记及方向

最近的学习真的比较困难,因为学习了SDK开发项目后,做了一些简单的项目后,觉得在UI线程中加载较多图片时,总会出现卡顿的感觉,特别是手指滑动下拉时,这种卡顿更易察觉到,而java的结构化开发能力确实是很强大的,使用java开发确实是一件非常享受的事情,但是java在一些高密度的计算中是没有什么优势的,在享受内存自动回收时也会遇到一些不如意的事.任何语言或事物,总会有优缺点,这是java如此简单易用的一个副作用.所以为了不使java的副作用危害到开发者使用java,java产生了一种非常有吸引力的

View的使用和学习(二)

参考文章 http://blog.csdn.net/guolin_blog/article/details/16330267 在这里学到了什么/ 1 绘制过程 测定View的大小 -> 测定View的位置 -> 绘制View 以上都要根据父View作不同的操作 绘制View的话,主要是onDraw()方法. 2自定义一个View public class MyView extends View { private Paint mPaint; public MyView(Context cont

初级篇第十期:学习查看View的层级关系

学习建议:自己动手,丰衣足食 学习周期:1周 学习目的:熟练使用Debug View Hierarchy查看View的层级关系 学习答疑:欢迎来技术群里提问并做分享 学习工具:Xcode开发环境,iOS8+ 学习内容:熟悉Xcode自带视图管理工具 这个功能很强大,早起只有收费软件Reveal可以来很好的调节iOS上UI界面的问题,那么在iOS8出来以后呢,Xcode6又更新出来一个功能,算是自带工具吧,与Reveal是类似的,不管你用IB还是纯代码,都是可以通过这个工具来查看当前程序运行界面中

从零开始学习MVC(一)

其实在学校时,已经开设了MVC这门课程,教材由授课老师自己编纂,是和微软的音乐商店相似的一个书店项目,当时无法理解 Linq.Lambda , 只记得是按照老师的方法,复制+粘贴,不明其意,亦不知其理.心里模糊有个印象,后来在顶岗实习时候接触的(GIS)地理测绘方面的开发维护,直到换工作转正后,趁着为后期开发作技术储备的机会,好好从头开始学习一下MVC MVC是一种高级架构模式,由于先学习的Web Form,刚开始总觉的MVC 的显示分离增加了应用程序的复杂性,很不好用.当时真是鼠目寸光.没有见

Backbone中父子view之间的值传递

backbone中,使用最多的莫过于在view中进行操作,如模板的渲染以及事件函数的定义.为了提高代码的可维护性,一般地我们会写多个视图即view,将界面按照功能的不同进行模块化划分,模块与view一一对应. 首先,我们会定义一个父view,在view中控制不同子view的渲染,子view之间尽量不产生联系.这样,代码之间的耦合度会降低很多,模块的功能明确化,同时降低了开发的难度.笔者最近在项目中遇到父子view传值问题,学习到了一个知识点,比较简单易懂.主要想分享两个内容:1.父子view是如

初识MFC学习——Hello World

MFC(Microsoft Foundation Classes),是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量.其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类. 具体连接:http://baike.baidu.com/view/10918.htm 以前学习了QT,现在来接触一下MFC................. Hello Wor

对UICollectionView的学习

UICollectionView 和 UICollectionViewController 类是iOS6 新引进的API,用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableView 和 UITableViewController 类 与UICollectionView有关的三个协议:UICollectionViewDataSource,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout 几个常用到得方法(需

Android 学习

三.TextView 添加Onclick 无效 给TextView添加Onclick事件还需要配置android:clickable="true",否则点击无效 android:clickable="true" android:onClick="installedSoftTab" 二.设置当TextView中的文字超过TextView的容量时,用省略号代替 只需要下边的设置: textview.setSingleLine(); textview.

Android中View绘制优化之三---- 优化View

本文原创, 转载请注明出处:http://blog.csdn.net/qinjuning 译三: 优化视图 关于如何设计自定义View以及响应触摸时间等,请看Android developer : 地址:http://developer.android.com/training/custom-views/index.html 本文翻译地址:Optimizing the View 通过前面的学习,现在该设计良好的View能够响应手势以及状态之间进行转换,除此之外你必须确保View 运行的流畅快速.