android基礎學習-android篇day12-UI基礎控制元件(上)

發條魚發表於2018-09-17

內容概覽

  • UI基本控制元件概覽

  • TextView屬性解析

 UI基本控制元件概覽

 TextView屬性解析

TextView是最基本的控制元件,直接繼承了View,也是眾多控制元件的父類。

TextView 中常用屬性

  • 當文字內容為電話、郵箱或特定格式時...
  • 當文字內容超出控制元件寬度時...
  • 當需要更改文字字型型別與風格時....

解析屬性-id 

  • @id/:則表示設定的事系統 已經建立好的ID,如果該ID不存在,則會報錯
  • @+id/:表示建立一個新的ID,如果該ID在R.java中已經存在,就不再生成新的變數,而直接使用

解析屬性-autoLink

  • 識別連結型別 
  • 當文字中出現了URL,E-Mail,電話號碼,地圖的時候,我們可以通過設定autoLink屬性;當我們點選文字中對應部分的文字,即可跳轉至某預設APP,比如一串號碼,點選後跳轉至撥號介面!

 解析屬性:省略號和跑馬燈

android:singleLine="true"//單行顯示

android:ellipsize="marquee"//使用ellipsize來設定文字溢位隱藏、設定跑馬燈效果

android:textIsSelectable="true"//讓TextView可滑動 

android:marqueeRepeatLimit="marquee_forever"//跑馬燈無限迴圈

Button基本屬性

實現監聽器四種方式

  1. 建立成員內部類
  2. 建立匿名內部類
  3. Activity直接實現監聽器介面
  4. 通過XML佈局檔案定義onClick屬性

第一種方式:建立成員內部類

吐司的使用方法:Toast.makeText(a,b,c);a.當前介面物件(上下文環境)  b.顯示內容  c.吐司實現長度 

  • 第一步:在XML佈局檔案中新增<Button />控制元件併為其設定id
  • 第二步:在java程式碼中(需要顯示該控制元件的Activity中)通過設定setContentView,裝載Button所在的XML佈局
  • 第三步:通過Button的id在Activity中獲取到Button的物件
  • 第四步:為button按鈕新增監聽事件
  •                a.建立內部類並實現OnClickListener介面
  •                b.重寫onClick方法(當按鈕被點選後想幹什麼)
  •                c.生成內部類物件
  •                d.為按鈕新增監聽物件

第一步: 在XML佈局檔案中新增<Button />控制元件併為其設定id

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="按鈕" />

第二、三、四步: 

package com.example.testonclicklistener;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;


public class MainActivity extends ActionBarActivity {
	private Button button;
	int i=0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //第二步:設定顯示View
        setContentView(R.layout.activity_main);
        //第三步:獲取Button的物件
        button=(Button)findViewById(R.id.button);
        //c.生成內部類物件
        buttonOnclickListener buttonOnclick =new buttonOnclickListener();
        //d.為按鈕新增監聽物件
        button.setOnClickListener(buttonOnclick);
        
    }
//第四步:為button按鍵新增監聽事件
    //a.建立內部類並實現OnClickListener介面
class buttonOnclickListener implements OnClickListener{

	@Override
	public void onClick(View arg0) {
		// b.重寫onClick的方法(當按鍵被點選後想幹什麼
		//該方法在繫結的按鈕被點選時呼叫,v為物件繫結的控制元件
		//吐司的使用方法:Toast.makeText(a,b,c);a.當前介面物件(上下文環境)  b.顯示內容  c.吐司實現長度 
		
		Toast.makeText(MainActivity.this, "我被點選了"+i+"次",Toast.LENGTH_SHORT).show();
		i++;
	}
	
}
}

 第二種方式:建立匿名內部類(最常用)

第一步:獲取Button物件

第二步:直接呼叫button的setOnClickListener方法

               a.在方法中,傳入new OnClickListener(){

                   onClick(){      }   }

    button.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				
			}
        	
        });

 第三種方式:Activity直接實現監聽器介面

package com.example.testonclicklistener;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Third extends Activity implements OnClickListener {
	
	private Button button;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		button=(Button) findViewById(R.id.button);
		button.setOnClickListener(this);
	}

	@Override
	public void onClick(View arg0) {
		// TODO Auto-generated method stub
		
	}

}

第四種方法:通過XML佈局檔案定義onClick屬性

  • 第一步:在xml佈局中,為button新增onClick屬性
  • 第二步:在對應的Activity中,建立一個以onClick屬性值為名字的方法
  •                 a.修飾符public   b.返回值void   c.傳入引數View型別

Xml檔案中 

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="buttononClick"
        android:text="按鈕" />

對應的Acitivity

package com.example.testonclicklistener;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class Fourth extends Activity {
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		
	}

	 public void buttononClick(View view){
		 Toast.makeText(Fourth.this,"第四種方法",Toast.LENGTH_LONG).show();
	 }

}

為多個按鈕使用同一監聽器

首先建立內部類實現OnClickListener介面

在onClick方法中,通過Switch(v.getId())  方式區別當前是哪個按鈕

package com.example.testonclicklistener;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Fourth extends Activity {
	private Button btn1;
	private Button btn2;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		btn1=(Button) findViewById(R.id.button);
		btn2=(Button) findViewById(R.id.button2);
		btn1.setOnClickListener(new buttonOnClickListener());
		btn2.setOnClickListener(new buttonOnClickListener());
		
	}

	class buttonOnClickListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			switch (v.getId()) {
			case R.id.button:
				
				break;
			case R.id.button2:
				
				break

			default:
				break;
			}
			
		}
		
	}

}

 

相關文章