android编程中,xml里的LinearLayout和*.java里的LinearLayout 有什么不同?
3个回答
展开全部
LinearLayout是线性布局,其他常用的的还有RelativeLayout、FrameLayout、TableLayout。
xml中的是通过节点嵌套做一个布局文件,然后虚拟机读取的时候把xml翻译为布局。
如果在java文件中定义LinearLayout也是可以的,前期学基础组件的时候一般用不到java文件中定义,后期动态生成相对负责的组件会用得到。
比如xml中LinearLayout需要设置宽和高的wrap_content还是match_parent,如果在java文件中就需要接触LinearLayout.LayoutParams和ViewGroup.LayoutParams两个类生成,相对比较麻烦。
但是二者的效果相同,都是同一种东西。只不过在不同的需要的时候选择不同的方式。
xml中的是通过节点嵌套做一个布局文件,然后虚拟机读取的时候把xml翻译为布局。
如果在java文件中定义LinearLayout也是可以的,前期学基础组件的时候一般用不到java文件中定义,后期动态生成相对负责的组件会用得到。
比如xml中LinearLayout需要设置宽和高的wrap_content还是match_parent,如果在java文件中就需要接触LinearLayout.LayoutParams和ViewGroup.LayoutParams两个类生成,相对比较麻烦。
但是二者的效果相同,都是同一种东西。只不过在不同的需要的时候选择不同的方式。
展开全部
你要知道LinearLayout
其实也是一个继承于View类的ViewGroup,而View在Android中是所有用户视图的基类。
所谓的XML布局其实只是Android事先定义好了一系列常用的View标签,以方便用户设计界面,在编译的时候根据事先约定的规则把XML解析出来,每个标签都对应一个相应的View对象的实例,然后再根据宽高参数进行量测和绘制,所以你可以把XML布局理解为界面设计的间接实现(需要一个解析XML的过程),而用Java代码布局是直接实现。
其实也是一个继承于View类的ViewGroup,而View在Android中是所有用户视图的基类。
所谓的XML布局其实只是Android事先定义好了一系列常用的View标签,以方便用户设计界面,在编译的时候根据事先约定的规则把XML解析出来,每个标签都对应一个相应的View对象的实例,然后再根据宽高参数进行量测和绘制,所以你可以把XML布局理解为界面设计的间接实现(需要一个解析XML的过程),而用Java代码布局是直接实现。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单说一下,他们执行时的优先级会有不同
追问
能具体点吗?
追答
比如说,xml文件中针对LinearLayout有设置某一属性为X值,如果你在代码中也针对这个LinearLayout的该属性设置另一个值y,那显示时则只有y这个值都相应的效果;
另,xml布局与代码布局在开发中个人觉得如果能用xml布局就用xml布局去实现,那样消耗内存晓得来小很多.不过代码布局呢,他的灵活性又比xml布局要强,所以这得需要你在实际项目中的运用需求了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询