Android非XML形式动态生成、调用页面的方法
本文实例讲述了Android非XML形式动态生成、调用页面的方法。分享给大家供大家参考。具体分析如下:
这个问题是这样的:我们不使用XML构建页面,而是使用程序构建新的页面,并在页面中添加各种控件。
一、构建新页面:
①在src目录中添加一个class,命名为SignPage
②在AndroidMainfest.xml中添加一个Activity:
<activityandroid:name="com.example.stest.SignPage"/>
注意,这句添加后表明SignPage页面为子页面,供主页面调用启动。
③打开SighPage.java,在其中添加一个EditText,并修改位置:
importandroid.os.Bundle;
importandroid.app.Activity;
importandroid.graphics.Color;
importandroid.view.*;
importandroid.widget.*;
importandroid.widget.RelativeLayout.LayoutParams;
publicclassSignPageAextendsActivity{
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
RelativeLayoutmain=newRelativeLayout(this);
//添加这个可以随意摆放
//控件位置
main.setBackgroundColor(0xFFFFFFFF);
setContentView(main);
EditTextemailEditText=newEditText(this);
LayoutParamsparams=newLayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
//这句一定要写,这样用来获取EditText对象,不写就会出错
params.leftMargin=50;
params.topMargin=50;
emailEditText.setHint("Email");
emailEditText.setTextColor(Color.BLACK);
emailEditText.setGravity(Gravity.TOP);
//emailEditText.setRawInputType(0x00000021);
//0x00000081PASSWORD
main.addView(emailEditText,params);
}
}
④在主页面中添加按钮,按钮事件如下:
Intentintent=newIntent(MainActivity.this,SignPageA.class); startActivity(intent); finish(); //调用子页面
希望本文所述对大家的Android程序设计有所帮助。