用Intent 意图实现,在Activity_1界面布局下一点击按钮进入Activity_2。
在设置按钮监听方法里面加入下面代码:
Intent i=new Intent();
isetClass(this, Activity_2class);
startActivity(i);
配置好Activity_2的布局文件,一点击按钮则直接跳转了。
望采纳
为按钮设置一个点击事件,在点击事件中,使用intent来启动另一个活动,不使用finish()就不会注销上一个活动,新活动中再定义一个按钮,同样设置点击事件,使用intent启动第一个活动。建议启动另一个活动的同时,注销当前活动,否则活动栈里的活动会越来越多。
一、activity
1一个activity就是一个类,继承activity;
2需要复写onCreate()方法;
3每一个activity都需要在AndroidMainfestxml清单上进行配置;
4为activity添加必要的控件。
二、布局
线性布局:LinearLayout
1填满父空间:fill_parent、match_parent
2文本多大空间就有多大:warp_content
3文字对齐方式:gravity
4占屏幕的比例:layout_weight="1" 水平方向,则width=0,垂直方向,则height=0
5一行显示,空间不够会省略:singleLine="ture" false会换行
6背景:background="#ffffff"
7水平布局:orientation="horizontal"
垂直布局:orientation="vertivcal"
表格布局:TableLayout
1内边距:padding
2外边距:marginLeft\Start、Right\End、Top、Bottom
三、RelativeLayout相对布局
layout_above 将该控件的底部置于给定ID控件之上
layout_below 将该控件的顶部置于给定ID控件之下
layout_toLeftOf 将该控件的右边缘和给定ID控件的左边缘对齐
layout_toRightOf 将该控件的左边缘和给定ID控件的右边缘对齐
layout_alignBaseline 该控件的baseline和给定ID的控件的Baseline对齐
layout_alignBottom 该控件的底部边缘和给定ID的控件的底部边缘对齐
layout_alignLeft 该控件的左边缘和给定ID的控件的左边缘对齐
layout_alignRight 该控件的右边缘和给定ID的控件的右边缘对齐
layout_alignTop 该控件的顶部边缘和给定ID的控件的顶部边缘对齐
layout_alignparentBottom 如果该值为true,则该控件的底部和父控件的底部对齐layout_alignParentLeft 如果该值为true,则该控件的左边和父控件的左边对齐
layout_alignParentRight 如果该值为true,则该控件的右边和父控件的右边对齐
layout_alignParentTop 如果该值为true,则该控件的上边和父控件的上边对齐
layout_centerHorizontal 如果该值为true,则该控件将被置于水平方向的中央
layout_centerInParent 如果该值为true,则该控件将被置于父控件水平和垂直方向的中央
layout_centerVertival 如果该值为true,则该控件将被置于垂直方向的中央
四、一个Intent对象包含一组信息
1Component name
2Action
3Data
4Category
5Extras
6Flags
Intent intent = new Intent(this, SecondActivityclass);
startActivity(intent); //startActivity方法
intentputExtra("Key", "Value"); //键值对
intent = getIntent();
String value = intentgetStringExtra("Key"); //通过键提取数据
五、初级控件:EditText、TextView、Button
1获取EditText的值
String value = EditTextgetText()toString();
2将值放到Intent对象中
Intent intent = new Intent();
intentputExtra("one",value )
intentsetCalss(Activitythis, OtherActivityclass);
3使用这个Intent对象来启动Otheractivity
ActivitythisstartActivity(intent);
4将监听器的对象绑定到按钮对象上
buttonsetOnclickListener(new Listener());
5得到Intent对象当中的值
Intent intent = getIntent();
String value1 = intentgetStringExtra("one");
int value2 = IntegerparseInt(value);
六、其他初级控件使用
①ImageView
②RadioGroup和RadioButton
setOnCheckedChangeListener(new RadioGroupOnCheckedChangeListener())
③Checkbox
setOnCheckedChangeListener(new CompoundButtonOnCheckedChangeListener())
④Menu
1当客户点击MENU按钮的时候,调用onCreateOptionMenu()方法
public boolean onCreateOptionMenu(Menu menu){
menuadd(0,1,1,Rstringid);
}
2当客户点击MENU内部的具体某一个选项时,调用onOptionItemSelected()方法
public boolean onOptionItemSelected(MenuItem item){
if(itemgetItemId() == 1){
finish();
}
return superonOptionItemSelected(item);
}
七、Activity的生命周期
1第一次创建时调用
protected void onCreat(Bundle saveInstanceState);
2显示出来时调用
protected void onStrat();
3获得用户焦点时调用(可 *** 作)
protected void onResume();
4点击d出第二个Activity时调用
protected void onPause();
5当第一个Activity不可见时调用
protected void onStop();
6当返回第一个Activity时调用,代替OnCreate,因为没被销毁
protected void onRestart();
7当返回第一个Activity时调用(先执行onStop,在执行,因为第二个Activity被销毁,不能返回获取,只能通过onCreat,onStart,onResume再创建)
protected void onDestory();
八、Task
1Task是存放Activity的Stack栈。当点击启动第二个Activiry时,第一个Activtiy会被压入Stack栈当中,第二个Activity会位于栈的顶部;当返回第一个Activtiy时,第二个Activity会被d出Stack,第一个Activity会位于栈的顶部,以此类推。
注释:当调用finish()时,当前的Activity会被Destory掉,栈中的Activity会消失。
2当Activity都从Stack退出后,则就不存在Task。
九、高级控件
①进度条ProgressBar
水平进度条style="android:attr/progressBarStyleHorizontal"
圆圈进度条style="android:attr/progressBarStyle"
用户可视的visibility="gone"
②列表ListView
十、其他控件
A下拉菜单Spinner
1创建一个ArrayAdapter:
ArrayAdapter<CharSequence> adapter = ArrayAdaptercreateFromResource(
this, //指上下文对象
Rarrayplant_array, //引用了在文件中定义的String数组
androidRlayoutsimple_spinner_item);//用来指定Spinner的样式,可替换自定义
adaptersetDropDownViewResource(
androidRlayoutsimple_spinner_dropdown_item);//设置Spinner当中每个条目的样式
2得到Spinner对象,并设置数据:
spinner=(spinner)findViewById(RidspinnerId);
spinnersetAdapter(adapter);
spinnersetPrompt("测试");//标题
3创建监听器
class SpinnerOnSelectListener implements OnItemSelectedListener{
@override
public void onItemSelected(
AdapterView<> adapterView,//整个列表对象
View view,//被选中的具体条目对象
int position,//位置
long id){ //id
String selected = adapterViewgetItemAtPosition(position)toString();
}
@override
public void onNothingSelected(AdapterView<> adapterView){
Sop("nothingSelected");
}
}
4绑定监听器
spinnersetOnItemSelectedListener(new SpinnerOnSelectListener());
注:第二种动态设计
1创建ArrayList对象
List<String> list = new ArrayList<String>();
listadd("test1");
2 调用方法
ArrayAdapter adapter = new ArrayAdapter(
this, //指上下文对象
Rlayoutitem, //引用了指定了下拉菜单的自定义布局文件
RidtextViewId,//id
list);//数据
3得到Spinner对象,并设置对象
spinnersetAdapter(adapter);
spinnersetPrompt("测试");//标题
3创建监听器
class SpinnerOnSelectListener implements OnItemSelectedListener{
@override
public void onItemSelected(
AdapterView<> adapterView,//整个列表对象
View view,//被选中的具体条目对象
int position,//位置
long id){ //id
String selected = adapterViewgetItemAtPosition(position)toString();
}
@override
public void onNothingSelected(AdapterView<> adapterView){
Sop("nothingSelected");
}
}
4绑定监听器
spinnersetOnItemSelectedListener(new SpinnerOnSelectListener());
BDatePicker和DatePickerDialog
1声明一个监听器,使用匿名内部类
DatePickerDialogOnDateSetListener onDateSetListener
= new DatePivkerDialogOnDateSetListener(){
public void onDateSet(
DatePicker view,
int year,
int monthOfYear,
int dayOfMonth){
Sop(year+"-"+motnOfYear+"-"+dayOfMonth)
}
}
2复写onCreateDialog(int id)方法:
@override
protected Dialog onCreateDialog(int id){
switch(id){
case DATE_PICKER_ID:
return new DatePickerDialog(this,onDateSetListener,2019,11,25);
}
return null;
}
3使用时调用showDialog()方法
showDialog(DATE_PICKER_ID);
CAutoCompleteTextView
BWidget
CAnimatin
十一、实现ContentProvider过程
1定义一个CONTENT_URI常量
2定义一个类,继承ContentProvider
3实现query、insert、update、delete、getType和onCreate方法
4在AndroidManifestxml当中进行声明
在“手机页面之间的跳转”一文中我介绍了如何运用setContentView()方法切换布局文件Layout的方式进行手机页面间的跳转, 这种适合更改背景,文字颜色,文字内容,但是始终是一个Activity,如果要把主控权移交给另外一个Activity,切换布局文件Layout的方式就办不到了。
如何把主控权移交给另外一个Activity呢?原理:通过Intent对象和startActivity()方法配合来实现。在主程序里使用startActivity()方法调用另外一个Activity,但是最主要的不是这个startActivity()方法,而是Intent对象,Intent在英文中是“意图”的意思,在主Activity当中,告诉程序自己是什么,并想要前往哪里,这就是Intent对象要做的事情了。在主Activity(ActivityOne)里放置一个按钮,当单击这个按钮的时候,告诉主Activity(ActivityOne)前往ActivityTwo,并在ActivityTwo里放置一个回到主Activity(ActivityOne)的一个按钮。
实现步骤
一:布局文件编写
11:第一个布局文件mainxml
<xml version="10" encoding="utf-8">
<LinearLayout xmlns:android=">
以上就是关于在安卓开发中,如何在一个Activity中直接引用另一个Activity的xml布局全部的内容,包括:在安卓开发中,如何在一个Activity中直接引用另一个Activity的xml布局、android开发问题:activity里右边有个按钮,点击按钮展开新的布局把当前的布局掩盖,再点还原成原来的布局、Android基础知识等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)