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程序设计有所帮助。