【Android】2:控制元件使用及頁面跳轉實戰

連江偉發表於2015-11-30

        在搭建了開發環境之後,我們就要就開始瞭解,如何寫程式了。首先我們先來看看Eclipse開發環境的各個視窗布局,如下圖所示

        其實這個和當初接觸的VB開發介面類似,我們可以將控制元件列表裡面的控制元件拖進我們的頁面佈局中,也就是我們主要的工作區,然後在使用控制元件的各種屬性,調整大小和位置,設定外觀和顏色,即可完成頁面佈局設計。然後為各個控制元件及事件,編寫後臺程式碼,除錯保證沒錯,一個應用程式就開發完成了。是不是特別easy?下面來看一個小例子,體會一下Android開發的便捷之處。

        新建一個AndroidApplication,然後在再新建一個Android XML檔案,就是我們所說的頁面暫且叫做activity-game,同時新建一個Activity類GameActivity,用於控制activity-game頁面。我們要實現的是在第一個頁面放一個textview和一個button,為按鈕加上一個事件,跳轉到下一個頁面activity-game,就這麼簡單,在這個例子中主要要體會如何給各個控制元件設定屬性,使之比較“順眼”。

        具體的例子如下:

        activity-main.xml的程式碼如下:   

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/jiemian"
    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="com.example.myapp.MainActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="98dp"
        android:background="#56C10F"
        android:text="進入遊戲"
        android:textColor="#FF7800" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="51dp"
        android:text="這是一款很牛逼的手遊!"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#008A9D" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/button1"
        android:layout_alignLeft="@+id/autoCompleteTextView1"
        android:layout_marginBottom="36dp"
        android:background="#E5E9E8"
        android:ems="10"
        android:hint="請輸入賬號……"
        android:inputType="textPassword" />

    <AutoCompleteTextView
        android:id="@+id/autoCompleteTextView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/editText1"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="29dp"
        android:background="#E5E9E8"
        android:ems="10"
        android:hint="請輸入密碼……" >

        <requestFocus />
    </AutoCompleteTextView>

</RelativeLayout>

        MainActivity.java的程式碼如下:

public class MainActivity extends ActionBarActivity implements OnClickListener {

	private Button button;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button =(Button)findViewById(R.id.button1);
        button.setOnClickListener(this);
    }

	@Override
	public void onClick(View arg0) {
		if(arg0.getId()==R.id.button1)
		{
			Intent intent = new Intent();
			intent.setClass(MainActivity.this, GameActivity.class);
			startActivity(intent);
		}
		
	}
}

        activity-game.xml的程式碼如下: 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@drawable/jiemian"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="190dp"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="134dp"
        android:textColor="#3266CC"
        android:text="天下風雲出我輩,\n一入江湖歲月催;\n皇圖霸業談笑中,\n不勝人生一場醉。"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>

        GameActivity.java的程式碼如下:    

public class GameActivity extends Activity implements OnClickListener {
	private Button button;
	
	
	/* (non-Javadoc)
	 * @see android.app.Activity#onCreate(android.os.Bundle)
	 */
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_game);
	}

	@Override
	public void onClick(View arg0) {
		
		
	}

}

        最後我們來看執行結果,從手機上截的圖,如下:

                      

        小結一下:

        一開始剛接觸Android的時候,覺得挺簡單的啊,跟VB差不多嘛,無非就是妥妥拽拽,寫點事件程式碼即可,可是當我學到後面關於Handler和Thread這方面的內容時,又覺得怎麼這麼難呢?可能是接觸的還少,也可能是在之前的學習中沒沒有對執行緒和Handler這類的東西進行過總結,所以在Android中看到類似的內容時不那麼感冒,因此就覺得難,不過在做了幾個實戰例子之後,能夠很好的理解了Handler+Thread的作用了。

相關文章