Android 基礎控件的學習

Android 基礎控件的學習

七種常用控件和一個容器。

1、TextView

2、Button

3、EditText

4、RadioButton

5、RatingBar

6、CheckBox

7、ToggleButton

8、RadioGroup


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/checkBox"
    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=".MainActivity" >

    <TextView
        android:id="@+id/tvHello"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

    <Button
        android:id="@+id/button1"
        style="@android:style/Animation.Activity"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/tvHello"
        android:layout_below="@+id/tvHello"
        android:layout_marginTop="18dp"
        android:background="@drawable/fire"
        android:text="btn" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/button1"
        android:layout_alignRight="@+id/button1"
        android:layout_below="@+id/button1"
        android:layout_marginTop="16dp"
        android:ems="10" />

    <RadioGroup
        android:id="@+id/radioGroup1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/editText1"
        android:layout_centerVertical="true" >

        <RadioButton
            android:id="@+id/radioButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:text="RadioButton1" />

        <RadioButton
            android:id="@+id/radioButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/radioButton1"
            android:layout_below="@+id/radioButton1"
            android:text="RadioButton2" />
    </RadioGroup>

    <RatingBar
        android:id="@+id/ratingBar1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/radioGroup1"
        android:layout_below="@+id/radioGroup1"
        android:layout_marginTop="16dp" 
        android:stepSize="1.0"
        android:numStars="4"/>

    <CheckBox
        android:id="@+id/checkBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/button1"
        android:layout_alignBottom="@+id/button1"
        android:layout_marginLeft="20dp"
        android:layout_toRightOf="@+id/radioGroup1"
        android:text="CheckBox1" />

    <ToggleButton
        android:id="@+id/toggleButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/editText1"
        android:layout_alignBottom="@+id/editText1"
        android:layout_alignRight="@+id/checkBox1"
        android:layout_marginRight="26dp"
        android:text="ToggleButton" />

</RelativeLayout>


package com.example.studycontrols;

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnKeyListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
	private TextView mTextView;
	private Button mButton;
	private EditText mEditText;
	private RadioButton mRadioButton1;
	private RadioButton mRadioButton2;
	private RadioGroup mRadioGroup;
	private RatingBar mRatingBar;
	private CheckBox mCheckBox;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		mTextView = (TextView) findViewById(R.id.tvHello);
		mButton = (Button) findViewById(R.id.button1);
		mEditText = (EditText) findViewById(R.id.editText1);
		mRadioButton1 = (RadioButton) findViewById(R.id.radioButton1);
		mRadioButton2 = (RadioButton) findViewById(R.id.radioButton2);
		mRadioGroup = (RadioGroup) findViewById(R.id.radioGroup1);
		mRatingBar = (RatingBar) findViewById(R.id.ratingBar1);
		mCheckBox = (CheckBox) findViewById(R.id.checkBox1);

		mCheckBox.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				if (mCheckBox.isChecked()) {
					Toast.makeText(getApplicationContext(), "勾選",
							Toast.LENGTH_SHORT).show();
				}
			}
		});

		mRatingBar
				.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {

					@Override
					public void onRatingChanged(RatingBar ratingBar,
							float rating, boolean fromUser) {
						Toast.makeText(getApplicationContext(),
								Float.toString(rating), Toast.LENGTH_SHORT)
								.show();
					}
				});

		mRadioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {

			@Override
			public void onCheckedChanged(RadioGroup group, int checkedId) {
				switch (checkedId) {
				case R.id.radioButton1:
					mTextView.setText(mRadioButton1.getText());
					break;
				case R.id.radioButton2:
					mTextView.setText(mRadioButton2.getText());
					break;
				default:
					break;
				}

				Toast.makeText(getApplicationContext(), "RadioButton變換",
						Toast.LENGTH_SHORT).show();
			}
		});

		mEditText.setOnKeyListener(new OnKeyListener() {
			@Override
			public boolean onKey(View arg0, int keyCode, KeyEvent event) {
				if ((event.getAction() == KeyEvent.ACTION_DOWN)
						&& (keyCode == KeyEvent.KEYCODE_ENTER)) {
					mTextView.setText(mEditText.getText());
					return true;
				}
				return false;
			}
		});
		mButton.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				mTextView.setText(mEditText.getText());
			}
		});
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}

一、在activity_main.xml中學習點如下:

1、ID的添加

android:id="@+id/radioGroup1"

這裏@後邊有個+號

2、Button的背景設置

android:background="@drawable/fire"

3、RatingBar的屬性設置

如最大星星數

android:numStars="4"

如變化度

android:stepSize="1.0"

二、main_activity.java中學習點如下

1、獲取控件ID通常寫於Activity的OnCreate中

2、添加事件時通常需要添加庫文件,可以使用Ctrl+Shift+o

3、public static Toast makeText (Context context,CharSequence text, int duration),類似MessageBox,不同之處是顯示一段時間後會淡出。

4、使用RadioButton時需要加上容器RadioGroup是之互斥,並且RadioButton的Checked屬性發生改變時,可以使用RadioGroup的setOnCheckedChangeListener來監聽,@Override
            public void onCheckedChanged(RadioGroup group, int checkedId)根據重寫onCheckedChanged的第二參數來確定被選中的RadioButton

5、EditText可設置鍵盤監聽,如按下按鍵的鍵值可以根據

@Override
            public boolean onKey(View arg0, int keyCode, KeyEvent event) {
                if ((event.getAction() == KeyEvent.ACTION_DOWN)//獲取時間戳與按鍵時間戳相等
                        && (keyCode == KeyEvent.KEYCODE_ENTER)) {//並且鍵值爲確定
                    mTextView.setText(mEditText.getText());
                    return true;//同return ;
                }

發佈了30 篇原創文章 · 獲贊 5 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章