Andriod開發基礎篇精髓—如何實現不同界面的跳轉
- 上一篇博客是比較整體性的,很多細節並不是很清楚,這裏講一下我對跳轉的看法吧,因爲個人覺得,學會了怎麼去跳轉,一些很簡單的畫面就會了,畢竟我們這周要交GUI演示的視頻,而不是照片
- 如果想看如何設計一個入門app,移步鏈接
何爲跳轉
- 舉個例子,比如我在這個界面有一個按鈕button,我希望點擊這個button之後,能夠跳轉到下一個界面
- 那麼這個例子就拆分爲了:
- 首先,在這個layout文件裏面,需要有一個button
- 其次,我們需要再新建一個activity,包含我們的跳轉的目標:layout文件,剛開始學的時候容易單獨去建立文件,但其實在包下新建activity就會有java和layout文件,你可以理解爲,layout文件時用來顯示界面的,java文件是用來對這個layout文件做一些操作的
- 最後,我們需要在原始activity的java文件中,設置button的點擊事件,實現點擊之後跳轉到目標文件
- 好的,我接下來放幾張圖片說明
實現跳轉
- uiactivity中佈局文件第一個按鈕的代碼下面展示一些
內聯代碼片
。
<Button
android:id="@+id/btn_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="背單詞"
android:textColor="#000000"
android:layout_marginTop="450dp"
android:background="@drawable/bg_btn4"
/>
- uiactivity(就是原始界面的名字)的java文件
- 所以在layout文件中一定要記得給button設置id
- 你可以看見上面的圖片又有一個setListener,這是自己寫的方法,在這裏說明
- 上面的目的是設置點擊事件,當button多了,這樣的話會比較簡單
- 接下來就是我們實現跳轉的最最最重要的部分了
- 下面展示一些
內聯代碼片
。
private class OnClick implements View.OnClickListener{
@Override
public void onClick(View v) {
Intent intent = null;
switch (v.getId()) {
case R.id.btn_1:
//點擊button1,跳轉到目標文件WordACtivity,第一個UiACTIVITY就是你原始跳轉界面的名稱
intent = new Intent(UiActivity.this, WordActivity.class);
break;
case R.id.btn_2:
intent = new Intent(UiActivity.this, CompreActivity.class);
break;
case R.id.btn_3:
intent = new Intent(UiActivity.this, ListenActivity.class);
break;
case R.id.btn_4:
intent = new Intent(UiActivity.this, TestActivity.class);
break;
}
startActivity(intent);
}
}
- 這樣的話我們就實現了跳轉,如果需要源碼,請移步我的另一個博客複製完整的代碼
10.當然有時候我們只有一個button,沒有必要寫一個辦法,直接
下面展示一些 內聯代碼片
。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBtnUI = (Button) findViewById(R.id.btn_ui);
mBtnEvent = (Button) findViewById(R.id.btn_event);
OnClick onClick = new OnClick();
mBtnUI.setOnClickListener(onClick);
mBtnEvent.setOnClickListener(onClick);
}
class OnClick implements View.OnClickListener{
@Override
public void onClick(View v) {
Intent intent = null;
switch(v.getId()){
case R.id.btn_ui:
intent = new Intent(MainActivity.this, UIActivity.class);
break;
case R.id.btn_event:
intent = new Intent(MainActivity.this,EventActivity.class);
break;
}
startActivity(intent);
}
- 雖然沒差多少,就少了一個setListener的辦法而已
- 這周本來說是不更新的,結果還是更新了,hhh,反正就一起加油吧!