改变原来界面布局的三种方式:
1、第一种方式:
LayoutInflater li = LayoutInflater.from(this);
具体代码:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //原来的布局
}
public void click(View view){
//改变本界面的布局
//布局填充器
//获取此对象有三种方式:
LayoutInflater ll = LayoutInflater.from(this) ;//获得填充对象
View v = ll.inflate(R.layout.login, null) ;//重新加载布局
setContentView(v) ;//填充布局
}
}
2、第二种方式:
LayoutInflater li = getLayoutInflater();
具体代码:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);//原来的布局
}
public void click(View view){
//改变本界面的布局
//布局填充器
//获取此对象有三种方式:
LayoutInflater out = getLayoutInflater() ;//获得填充对象
View v = out.inflate(R.layout.login, null) ;//加载布局文件
setContentView(v) ;//填充布局
}
}
3、第三种方式:
LayoutInflater ll= (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE) ;
具体代码:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);//原来的布局
}
public void click(View view){
//改变本界面的布局
//布局填充器
//获取此对象有三种方式:
LayoutInflater ll= (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE) ;//获得填充对象
View v = ll.inflate(R.layout.login, null) ;//加载布局文件
setContentView(v) ;//填充布局
}
}
在例子中有两个布局文件activity_main.xml 和 login.xml这两个布局文件可以随意定义。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。