这个功能是实现了页面的跳转通过Activity。先介绍以下界面和功能:通过两个界面,在第一个界面输出内容,然后跳转到第二个页面显示输入的内容。
1,、首先,需要新建一个空的Activity(MainActivity),里面主要是第一个界面包含一个 EditTeX(输入内容),ImageButton(用于跳转页面),代码如下:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="bzu.edu.cn.toasthellow.MainActivity" android:background="@drawable/bg">//页面背景 <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableLeft="@drawable/name" android:layout_marginTop="150dp" android:background="@android:drawable/edit_text"//文本框内部空白 android:ems="15"//文本框的宽度 android:layout_centerHorizontal="true"//居中显示 android:id="@+id/etName"/> <requestFocus/>//设置文本框的边框 <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/btn_bg"//按钮图片调用 android:layout_centerHorizontal="true" android:background="@null" android:layout_below="@id/etName" android:layout_marginTop="20dp" android:onClick="toHello"//触发事件 android:id="@+id/btn" /> </RelativeLayout>
2、新建一个navigationdrawerActivity(HelloActivity)(这个是一个功能比较全的界面,里边包含很多布局功能),
之后自动生成四个xml文件,找到 content_Hello文件,在里边写一个TextView(用来显示带一个页面输入的内容)
,代码如下:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/content_hello" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="bzu.edu.cn.toasthellow.HelloActivity" tools:showIn="@layout/app_bar_hello"> <TextView android:text="TextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginLeft="102dp" android:layout_marginStart="102dp" android:layout_marginTop="165dp" android:id="@+id/textView2" android:textSize="24sp" /> </RelativeLayout>3、然后就是实现页面的跳转,需要处理好按钮触发端(数据传递)和内容接收端两个部分,分别在MainActivity和HelloActivity编写主要代码实现:package bzu.edu.cn.toasthellow; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.EditText; public class MainActivity extends AppCompatActivity { private EditText etName;//声明etName获取并传递内容 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); etName=(EditText) findViewById(R.id.etName);//强制转换获取到文本框的id } public void toHello (View view) { Intent intent=new Intent(this,HelloActivity.class);//生成一个intent用于跳转界面 intent.putExtra("name",etName.getText().toString());//传递在文本框获取到的内容 startActivity(intent);//执行 } }//声明toHello类(以上是MainActivity)
private TextView tvHello;//声明接受内容 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_hello); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); tvHello=(TextView) findViewById(R.id.textView2); String name=getIntent().getStringExtra("name"); tvHello.setText("Helloo"+name);
4、模拟器运行入口:
<activity android:name=".MainActivity" > <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>运行结果