Android學習筆記2:一些界面組件的使用

本篇是關於Android的一些界面組件的使用,其中包括TextView、EditText、Button、RadioButton、CheckButton。

1、TextView 繼承自View,功能是顯示文本內容。

2、EditText繼承自TextView。定義在android.widget.EditText中。功能:向用戶顯示文本內容,並可以對文本進行編輯

3、Button屬性繼承自textview和view類,當需要按鈕響應單擊事件時,可以繼承OnClickListener接口,也可以在按鈕屬性裏定義該方法,android:onClick=“methodname”,該method的是public void類型的,參數爲View類型。

例子:

界面代碼:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:gravity="center" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Input your name and password"
        android:textColor="#6cf"
        android:textSize="16sp" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10" >
    </EditText>

    <EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPassword"
        android:ems="10" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="submit"
        android:textColor="#00ff00"
        android:onClick="onClick" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

那個,java的代碼:

public class MainActivity extends Activity {
	public TextView textView=null;
	public EditText name=null;
	public EditText pwd=null;
	public String s="";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //實例化textView2,隨後我們使用該組件顯示輸入的內容
        textView=(TextView)findViewById(R.id.textView2);
        //實例化editText1,隨後我們獲取該組件顯示輸入的內容
        name=(EditText)findViewById(R.id.editText1);
        //實例化editText2,隨後我們獲取該組件顯示輸入的內容
        pwd=(EditText)findViewById(R.id.editText2);
    }
    public void onClick(View view)
    {
    	//獲取editText1、editText2輸入的內容(用戶名和密碼)
    	s="name is:"+name.getText().toString()+";password is:"+
    pwd.getText().toString();
    	//使用getText()可以獲得View組件所顯示的字體
    	textView.setText(s);
    	//使用setText()可以設置View組件所顯示的字體
    }
    
}

然後,做出來的效果是這樣的:

 

4、組件RadioButton與CheckBox都繼承自CompoundButton中

一組單選按鈕(RadioButton)需要編組,編到一個RadioGroup中

而CheckBox是選擇框,不需要編組,可以多選

下面是例子:界面:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >


    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="性別:" />
    <RadioGroup
        android:id="@+id/radioGroup1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
        <RadioButton
            android:id="@+id/man"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:text="男:" />
        <RadioButton
            android:id="@+id/woman"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="女:" />
	</RadioGroup>

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="愛好 " />

    <CheckBox
        android:id="@+id/sports"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="運動:" />

    <CheckBox
        android:id="@+id/music"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="音樂:" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="subimit"
        android:onClick="提交" />

    <TextView
        android:id="@+id/results"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

處理事件的相關java代碼:

public class MainActivity extends Activity {
	public TextView results = null;
	public RadioButton man = null;
	public RadioButton woman = null;
	public CheckBox sports = null;
	public CheckBox music = null;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		/**
		 * 通過實例化單選按鈕、複選按鈕等, 當用戶單擊submit按鈕時,通過View類的getText()方法
		 * 獲取每一個實例化後的組件顯示文本,然後賦值給s 最後在result顯示文本上使用setText(s)方法把獲取的用戶信息顯示出來
		 * */
		results = (TextView) findViewById(R.id.results);
		man = (RadioButton) findViewById(R.id.man);
		woman = (RadioButton) findViewById(R.id.woman);
		sports = (CheckBox) findViewById(R.id.sports);
		music = (CheckBox) findViewById(R.id.music);
	}

	public void onClicked(View view) {
		String s = "Your informatin are :\n";
		// 判斷是不是選中了該按鈕,單擊按鈕可能取消選擇,也可能是選擇
		if (man.isChecked()) {
			s = s + man.getText().toString()+"\n";
		}
		if (woman.isChecked()) {
			s = s + woman.getText().toString()+"\n";
		}
		if (sports.isChecked()) {
			s = s + sports.getText().toString()+"\n";
		}
		if (music.isChecked()) {
			s = s + music.getText().toString()+"\n";
		}
		results.setText(s);
	}
}

效果圖:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章