做网站按什么收费多少网站活跃度怎么做
做网站按什么收费多少,网站活跃度怎么做,猪八戒设计网站官网,电商设计网站素材一、inflate简介
inflate这个方法总共有四种形式#xff08;见下面#xff09;#xff0c;目的都是把xml表述的layout转化为View对象。
其中有一个比较常用#xff0c;View inflate(int resource, ViewGroup root)#xff0c;另三个#xff0c;其实目的和这个差不多。 …一、inflate简介
inflate这个方法总共有四种形式见下面目的都是把xml表述的layout转化为View对象。
其中有一个比较常用View inflate(int resource, ViewGroup root)另三个其实目的和这个差不多。
int resource也就是resource/layout文件在R文件中对应的ID这个必须指定。
而ViewGroup root则可以是nullnull时就只创建一个resource对应的View不是null时会将创建的view自动加为root的child。
二、setContentView和inflate区别
setContentView()一旦调用, layout就会立刻显示UI。而inflate只会把Layout形成一个以view类实现成的对象有需要时再用setContentView(view)显示出来。 一般在activity中通过setContentView()将界面显示出来但是如果在非activity中如何对控件布局设置操作了这需LayoutInflater动态加载。 TextView
android:idid/tview
android:layout_widthfill_parent
android:layout_heightwrap_content
android:textATAAW.COM
/Button
android:layout_widthfill_parent
android:layout_heightwrap_content
android:idid/button
android:text按钮
/在程序中动态加载以上布局。 LayoutInflater flater LayoutInflater.from(this); View view flater.inflate(R.layout.example, null); 获取布局中的控件。 button (Button) view.findViewById(R.id.button); textView (TextView)view.findViewById(R.id.tview); *********************************************************** 三、接下来结合源码说说inflate方法的四种形式 inflate方法总共有四种形式把xml表达的layout转化为view. This class is used to instantiate layout xml files into its corresponding view object. It is never be used directly——use getLayoutInflater() or getSystemService(String)getLayoutInflate() or getSystemService(String) to retrieve a standard LayoutInflater instance that is already hooked up that is already hook up to the current context and correct configured for the device you are running on. 1 Context.public abstract object getSystemService(String name) 2 两种获得LayoutInflater的方法 a. 通过SystemService获得 LayoutInflater inflater(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLEATER_SERVICE); b. 从给定的context中获取 Public static LayoutInflater from(Context context) c. 两者的区别实际上是一样的源码 /** * Obtains the LayoutInflater from the given context. */ public static LayoutInflater from(Context context) { LayoutInflater LayoutInflater (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); if (LayoutInflater null) { throw new AssertionError(LayoutInflater not found.); } return LayoutInflater; } 3 LayoutInflater.inflate()将Layout文件转换为View专门供Layout使用的Inflater。虽然Layout也是View的子类但在android中如果想将xml中的Layout转换为View放入.java代码中操作只能通过Inflater而不能通过findViewById()。 4 LinearLayout linearLayout (LinearLayout) findViewById(R.id.placeslist_linearlayout); linearLayout.addView(place_type_text); 5 findViewById有两种形式 R.layout.xx是引用res/layout/xx.xml的布局文件(inflate 方法)R.id.xx是引用布局文件里面的组件组件的id是xxfindViewById方法。所有的组件id都能用R.id.xx来查看但是组件不在setContentView()里面的layout中就无法使用Activity.findViewById()会出现空指针异常 a. activity中的findViewById(int id) b. View 中的findViewById(int id) 6.不同点是LayoutInflater是用来找layout下xml布局文件并且实例化而findViewById()是找具体xml下的具体 widget控件(如:Button,TextView等)。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/90433.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!