1. 程式人生 > >安卓學習(初)第三章(1)(《第一行程式碼》)

安卓學習(初)第三章(1)(《第一行程式碼》)

佈局控制元件

一、TextView

1、<TextView>可以說是Android中最簡單的一個控制元件,主要用於在介面上顯示一段文字資訊。

2、指定控制元件的寬度和高度

android:layout_width="match_parent"
android:layout_height="wrap_content"

Android中所有的控制元件都有這2種屬性,可選三種值:match_parent,fill_parent,wrap_content。其中match_parent和fill_parent意義相同,都表示讓當前控制元件大小和父佈局的相同,只是官方更加推薦使用match_parent。wrap_content表示讓控制元件大小能夠剛好包含裡面的內容就行。當然,我們也可以對控制元件自定義指定高和寬,但是這樣會在不同手機螢幕的適配方面出現問題。

3、對TextView文字對齊方式

<TextView
    android:id="@+id/text_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"                    //這行程式碼就是指定下面文字的對齊方式
    android:text="This is TextView" />

對齊方式可選值有:top、bottom、left、right、center等,可以用“|”來指定多種方式。如center效果等同於center_vertical | center_horizontal。若不指定任何,則預設向右上角對齊。

4、對TextView中文字大小、顏色修改。 如:android:textSize="24sp"對字型大小指定, android:textColor="#00ff00"對字型顏色指定。

*5、對於其他的文字具體屬性設定,可具體去查閱,主要寫法正確。

二、Button

1、這是在佈局新增一個按鍵的控制元件。

2、button命名為英文時系統預設名稱所有字母為大寫,可以以通過android:textAllCaps="false"來禁用這個預設。

3、在活動中註冊監聽器(見第二章內容)。

三、EditText

1、<EditText>是用於在佈局新增一個可供使用者新增文字的文字框。

2、在佈局中基礎呼叫:

<EditText
    android:id="@+id/edit_text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    />                                  
  //佈局控制元件的基礎呼叫方式都基本相同,即寫好控制元件所屬標籤先給控制元件定義一個id再指定寬度高度。而個性新增會不同。

3、個性新增:

如 android:hint="something here",表示新增提示性文字為“something here”。

如android:maxLines="2",表示文字內容字元最多容納兩行。

4、獲取EditText的內容。第一步:editText=(EditText) findViewById(R.id.edit_tex);在oncreat方法中獲取例項(佈局控制元件在活動建立中獲取例項的方法都一樣,只是要改變方法中的引數即控制元件的地址)。第二步:String inputText=editText.getText().toString();把資料賦予inputText這個引數(editText的getText()方法獲取文字內容再通過toString()方法轉化成字串)。

四、ImageView

1、ImageView是用於在介面展示圖片的一個控制元件。

2、 在該佈局控制元件標籤中,寫android:src="@drawable/img_1",這就添加了一張圖片是在drawable目錄下的img_1圖片。所需要的圖片我們要額外手動在該資料夾下複製添進去並命名(上面的程式碼說明圖片被命名為img_1)。

3、同樣,在活動中應用控制元件都要在oncreate方法中建立例項,方法上面講過了。

4、在應用該控制元件時,imageView.setImageResource(R.drawable.img_2);表示切換圖片。通過imageView的setImageResource方法講圖片換成別的,其中它執行需要的一個引數便是新圖片的地址。

五、ProgressBar

1、ProgressBar控制元件用於在介面上顯示一個進度條(表示我們正在載入一些資料)。

2、設定進度條載入100%後消失。所有控制元件都有這個可見屬性,程式碼如:android:visibility=visible表示可見,不指定任何也是預設這樣為可見的,此外還可以指定invisible(表示不可見但仍然要佔螢幕位置)和gone(表示不僅不可見而且不佔用螢幕任何空間)。我們還可以在活動中用setVisibility()方法設定控制元件的可見性,setVisibility()裡的引數可以傳入View.INVISIBLE、View.VISIBLE和View.GONE結果對應上面的三種情況。示例:

@Override
    public void onClick(View V) {
        switch(v.getId){
           case R.id.button:              //這個switch的case是指不同button執行不同觸發活動,case後面跟button的地址
                if(progressBar.getVisibility()==View.GONE){    
                   progressBar.setVisibility(View.VISIBLE);
                }else{                    //表示如果進度條是不顯示狀況就變為顯示,否則變為不顯示
                    progressBar.setVisibility(View.GONE);
            }                             //必須先建立Progress的物件例項
        }
        break;
        default;
        break;
    }
}

3、進度條的樣式在ProresssBar標籤內引用style="?android:att/progressBarStyleHorizontal"可以改成水平進度條(預設情況下是圓形進度條)。然後用android:max="100",來設定進度條最大值(這設定了100為進度條最大值)。在活動中用動態進度條(用按鍵控制進度):

case R.id.button:                             //按鍵觸發
    int progress=progressBar.getProgress();   //給引數賦值(獲取進度資料)
    progress=progress+10;                     //改變引數值
    progress.setProgress(progress);           //把進度值改為引數值

*4、ProgressBar的樣式還有其他,自己去琢磨!

六、AlertDialog

1、AlertDialog控制元件是在當前的介面彈出一個對話方塊(這個對話方塊在所有介面元素之上)。

2、示例:

@Override
public void onClick(View v) {
    switch (v.getId()){
        case R.id.button:
            AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.this);  //建立一個AlertDialog例項
            dialog.setTitle("This is Dialog");                                      //對話方塊標題
            dialog.setMessage("something important");                               //對話方塊內容
            dialog.setCancelable(false);                                            //設定是否可取消屬性
            dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {  //“OK”是設定按鈕的顯示名稱
                @Override                                                          //對話方塊確認按鈕點選事件
                public void onClick(DialogInterface dialog, int which) {
                }
            });
            dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                @Override                                                          //對話方塊取消按鈕點選事件
                public void onClick(DialogInterface dialog, int which) {
                }
            });
            dialog.show();
            break;
        default:
            break;
    }
}

七、ProgressDialog

1、ProgressDialog和AlertDialog有點類似。兩者都是在介面最上顯示對話方塊覆蓋其他功能。不同的是ProgressDialog會在對話方塊內顯示進度條。用法兩者相似。

2示例:

@Override
public void onClick(View v) {
    switch (v.getId()){
        case R.id.button:
            ProgressDialog progressDialog=new ProgressDialog(MainActivity.this);
            progressDialog.setTitle("This is progressDialog"); 
            progressDialog.setMessage("Loading……");
            progressDialog.setCancelable(true);
            progressDialog.show();
            break;
          default:
            break;
 }
}

3、注意:setCancelable()中傳入了false表示該對話方塊不能通過Back鍵取消掉。因此,如果傳入了false,在ProgressDialog型別的對話方塊中還要在程式碼中做好資料載入完自動呼叫ProgressDialog的dismiss()方法關閉對話方塊的控制。