LayoutInflater用于使用预定义的XML布局操作Android屏幕.此类用于将布局XML文件实例化为其对应的View对象.它永远不会直接使用.相反,使用getLayoutInflater()或getSystemService(String)来检索已连接到当前上下文的标准LayoutInflater实例.
LayoutInflater的简单程序 - 将此布局设为activity_main.xml-
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_layout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</LinearLayout>
this is the hidden layout which we will add dynamically,save it as hidden_layout.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/hidden_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView android:id="@+id/text_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello, this is the inflated text of hidden layout"/>
<EditText android:id="@+id/edit_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello, this is your name"/>
</LineraLayout>
Run Code Online (Sandbox Code Playgroud)
现在这是主要活动的代码 -
public class MainActivity extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout main = (LinearLayout)findViewById(R.id.main_layout);
View view = getLayoutInflater().inflate(R.layout.hidden_layout, main,false);
main.addView(view);
}
}
Run Code Online (Sandbox Code Playgroud)
note - 我们使用"false"属性,因为这样我们对加载的视图进行的任何进一步布局更改都将生效.如果我们将其设置为"true",它将再次返回根对象,这将阻止对加载的对象进行进一步的布局更改.
| 归档时间: |
|
| 查看次数: |
12261 次 |
| 最近记录: |