?????? 在上節(jié)課的學習中,我們主要探究了如何手動創(chuàng)建一個活動并加載布局及注冊。在實現(xiàn)了頁面穿梭的功能后,本節(jié)課實現(xiàn)了打開軟件后三秒的歡迎界面,以及在單擊主界面按鈕時可以傳送信息至下一層界面
要求
通過閃屏完成三秒延時界面,實現(xiàn)向下一個活動傳送數(shù)據(jù)
導入文件
導入上節(jié)課已經(jīng)創(chuàng)建好的活動,打開File → Import → Android → Existing Android Code Into Workspace 選擇要導入的文件夾即可
準備工作
1、注意編程類型為java,SDK路徑是否正確
2、在已經(jīng)導入好的文件中,打開src → com.example.first → new → class → Name:welcomeActivity,此時注意繼承設置為android.app.Activity,并且在空白處右鍵重載方法onCreate。
3、創(chuàng)建布局打開res → layout → new → Android XML File → file:welcome,同時加載布局welcomeActivity → setContentView(R.layout.welcome);
4、在AndroidManifest.xml中注冊
<activity???? android:name=".welcomeActivity">
???????????? <intent-filter>
??????????????? <action android:name="android.intent.action.MAIN" />
??????????? ????<category android:name="android.intent.category.LAUNCHER" />
??????????? </intent-filter>
5、添加背景l(fā)ayout → welcome中鍵入android:background="@drawable/bg"
利用handle實現(xiàn)閃屏
在src → welcomeActivity中首先定義并實例化一個線程對象:private Handler handler=new Handler();
通過線程對象實現(xiàn)一個接口,做到延遲3秒后切換屏幕(這里new Run……使用“alt+/”補全)
handler.postDelayed(new Runnable() {
???????????????????? @Override
???????????????????? public void run() {
??????????????????????????? // TODO Auto-generated method stub
??????????????????????????? //以下兩行為跳轉至主界面
??????????????????????????? Intent intent=new Intent(welcomeActivity.this,MainActivity.class);
??????????????????????????? ?????? startActivity(intent);
???????????????????? }
????????????? }, 1000);??????? //1000代表延時的時間
向下一個活動傳送數(shù)據(jù)
1、首先在主界面輸入要傳送的數(shù)據(jù)
src → com.example.first → MainActivity → 在Intent和start intenrt中插入語句:intent.putExtra("MSG", "hello!!!");
2、 在第二界面的標題位置顯示傳送數(shù)據(jù)
Intent intent=getIntent();???????????????? //獲取傳遞過來的intent
String msg=intent.getStringExtra("MSG").toString().trim();
??????????????????????????????????????????????????????? //通過獲取到的intent? 獲取其中的數(shù)據(jù) 通過鍵名的方式
this.setTitle(msg); ??????????????????????????? //將獲取的數(shù)據(jù)作為當前頁的標題顯示
3、在第二界面的主界面位置顯示傳送數(shù)據(jù)
在layout → second.xml中添加一個textview并指定寬和高
<TextView
??????? android:id="@+id/textView"
??????? android:layout_width="wrap_content"
??????? android:layout_height="wrap_content"
????????
??????? />
在src → secondActivity中鍵入
private TextView textView;
textView=(TextView)findViewById(R.id.textView);
textView.setText(msg);
至此我們就完成了將“hello!!!”這行文字由主界面同時傳入第二界面的標題和文本中